wordpress-citation-note

Citation Note is a custom WordPress plugin developed to manage and display inline citations and footnotes within post content.

https://github.com/santoshtmp/wordpress-citation-note

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Citation Note is a custom WordPress plugin developed to manage and display inline citations and footnotes within post content.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 8 months ago
Metadata Files
Readme Citation

readme.txt

=== Citation Note ===

Contributors: santoshtmp7, younginnovations
Tags: CITENOTE, Citation, reference, footnotes, citation note
Requires at least: 6.8
Requires PHP: 8.0
Tested up to: 6.8
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Easily add, manage, and display citations, references, and footnotes in posts, pages, or custom post types using a user-friendly editor interface.

== Description ==

**Citation Note** plugin easily add, manage, and display citations, references, and footnotes in posts, pages, or custom post types using a user-friendly editor interface.

This is developed to help content creators manage and display content citations or references directly from the post/page editor.

This plugin adds a custom meta box with dynamic citation fields that allow users to:
- Add multiple citation entries.
- Remove or reorder citations.
- Output citations in the frontend or within blocks.

Ideal for blogs, research publications, or any content that benefits from structured citation management.

== Installation ==
1. Upload the plugin folder to `/wp-content/plugins/citation-note/` or install via the Plugins menu.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. After activate the plugin, go to the plugin settings screen at `/wp-admin/options-general.php?page=citenote`.
   - Select the post type(s) to apply citations.
   - Set the citation footnote title (this will be displayed on the frontend).

== How to use ==
1. After activate the plugin and select the post type to apply citations.
2. Go to the edit screen of any selected post type.
3. Scroll down to the **Citation List** meta box.
4. Click **Add Citation** to insert new fields.
5. Fill in your citation data (citation number and description).
6. In the content editor, insert the placeholder (e.g., `citation_1`) where the citation reference should appear.
7. Save or update the post.
8. Use the shortcode `[citenote_display_list]` or template function `do_shortcode('[citenote_display_list]')` to render the citation list on the frontend.

== Screenshots ==
1. Plugin settings screen.
2. Citation meta box for entering data.
3. Citation placeholders and shortcode in content.
4. Frontend rendering of citation.

== Frequently Asked Questions ==
= Can we apply to particular post type? =
Yes, we can apply to only selected post type.

= Can I style the citations differently? =
Yes. The plugin includes a CSS file you can override in your theme.

= Where is the citation data stored? =
All citations are saved as post meta data under a structured array key.

= Is this plugin compatible with Gutenberg? =
Yes, it loads only on post editor screens and integrates seamlessly with the block editor.

== Changelog ==
= 1.0.0 =
* Initial release of Citation Note.
* Added support for dynamic citation fields and placeholder rendering.
* Included shortcode for citation list output.
* Admin settings to select post types and footnote title.

== Upgrade Notice ==
= 1.0.0 =
Initial release.

== License ==
This plugin is licensed under the GPLv2 or later. For more information, see https://www.gnu.org/licenses/gpl-2.0.html.

Owner

  • Name: santosh thapa magar
  • Login: santoshtmp
  • Kind: user
  • Location: kathmandu, Nepal

have huge potential to go in the field of web technology, Data Analytics & ML.

Citation (citation-note.php)

<?php

/**
 * Plugin Name: Citation Note
 * Plugin URI: 
 * Description: Easily add, manage, and display citations, references, and footnotes in posts, pages, or custom post types using a user-friendly editor interface.
 * Tags: CITENOTE, Citation, reference, footnotes, citation note
 * Contributors: santoshtmp7, younginnovations
 * Requires at least: 6.8
 * Requires PHP: 8.0
 * Tested up to: 6.8
 * Version: 1.0.0
 * Author: santoshtmp7
 * License: GPLv2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: citation-note
 */

// Exit if accessed directly.
if (!defined('ABSPATH')) {
    exit;
}

// define constant named
define('CITENOTE_PLUGIN_DIR', plugin_dir_path(__FILE__));
define('CITENOTE_PLUGIN_URL', plugin_dir_url(__FILE__));
define('CITENOTE_PLUGIN_BASENAME', plugin_basename(__FILE__));

// 
if (! class_exists('CITENOTE')) {
    /**
     * CITENOTE main class
     * 
     */
    class CITENOTE {

        /**
         * construction
         */
        function __construct() {
            $include_paths = [
                CITENOTE_PLUGIN_DIR . '/lib',
            ];
            $this->citenote_include_path_files($include_paths);

            new \citenote\CITENOTE_Data();
            new \citenote\CITENOTE_Admin_Settings();
            new \citenote\CITENOTE_Editor_Fields();

            add_action('init', [$this, 'citenote_register_scripts']);
        }

        /**
         * 
         */
        function citenote_register_scripts() {
            wp_register_style(
                "citation-note-style",
                CITENOTE_PLUGIN_URL . 'assets/css/citation-note-style.css',
                [],
                filemtime(CITENOTE_PLUGIN_DIR . 'assets/css/citation-note-style.css')

            );
            wp_enqueue_script(
                'citation-note-script',
                CITENOTE_PLUGIN_URL . 'assets/js/citation-note.js',
                ['jquery'],
                filemtime(CITENOTE_PLUGIN_DIR . 'assets/js/citation-note.js'),
                true
            );
        }


        /**
         * citenote_get_path
         *
         * Returns the plugin path to a specified file.
         *
         * @param   string $filename The specified file.
         * @return  string
         */
        function citenote_get_path($filename = '') {
            return CITENOTE_PLUGIN_DIR . ltrim($filename, '/');
        }

        /**
         * Includes a file within the plugin.
         *
         * @param   string $filename The specified file.
         * @return  void
         */
        function citenote_include($filename = '') {
            $file_path = $this->citenote_get_path($filename);
            if (file_exists($file_path)) {
                include_once $file_path;
            }
        }


        /**
         * requires all ".php" files from dir defined in "include_dir_paths" at first level.
         * @param array $include_dir_paths will be [__DIR__.'/inc'];
         */
        function citenote_include_path_files($include_dir_paths) {
            foreach ($include_dir_paths as $key => $file_path) {
                if (!file_exists($file_path)) {
                    continue;
                }
                foreach (new \DirectoryIterator($file_path) as $file) {
                    if ($file->isDot() || $file->isDir()) {
                        continue;
                    }
                    $fileExtension = $file->getExtension(); // Get the current file extension
                    if ($fileExtension != "php") {
                        continue;
                    }
                    // $fileName = $file->getFilename(); // Get the full name of the current file.
                    $filePath = $file->getPathname(); // Get the full path of the current file
                    if ($filePath) {
                        require_once $filePath;
                    }
                }
            }
        }
        //  ======== END =======
    }
}

// Execute CITENOTE main class
new CITENOTE();

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1