2.1.3
git-svn-id: https://plugins.svn.wordpress.org/footnotes/tags/2.1.3@2424470 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
parent
0520655f1c
commit
9122e5b7ff
14 changed files with 685 additions and 527 deletions
|
@ -89,7 +89,7 @@ class MCI_Footnotes_Layout_Init {
|
||||||
* Registers all sub menu pages for the new main menu.
|
* Registers all sub menu pages for the new main menu.
|
||||||
*
|
*
|
||||||
* @author Stefan Herndler
|
* @author Stefan Herndler
|
||||||
* @since 2.0.2
|
* @since 1.5.0
|
||||||
* @see http://codex.wordpress.org/Function_Reference/add_menu_page
|
* @see http://codex.wordpress.org/Function_Reference/add_menu_page
|
||||||
*/
|
*/
|
||||||
public function registerMainMenu() {
|
public function registerMainMenu() {
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
* @filesource
|
* @filesource
|
||||||
* @author Stefan Herndler
|
* @author Stefan Herndler
|
||||||
* @since 1.5.0 12.09.14 10:56
|
* @since 1.5.0 12.09.14 10:56
|
||||||
|
*
|
||||||
|
* 2.1.2 added version # of settings.css for cache busting 2020-11-19T1456+0100
|
||||||
|
*
|
||||||
|
* ############ Please update line 210 after changes to settings.css ###############
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -195,8 +199,19 @@ abstract class MCI_Footnotes_LayoutEngine {
|
||||||
wp_enqueue_style('wp-color-picker');
|
wp_enqueue_style('wp-color-picker');
|
||||||
// add WordPress color picker function
|
// add WordPress color picker function
|
||||||
wp_enqueue_script('wp-color-picker');
|
wp_enqueue_script('wp-color-picker');
|
||||||
|
|
||||||
|
|
||||||
// register stylesheet
|
// register stylesheet
|
||||||
wp_register_style('mci-footnotes-admin-styles', plugins_url('../../css/settings.css', __FILE__));
|
// added version # after changes started to settings.css from 2.1.2 on:
|
||||||
|
wp_register_style(
|
||||||
|
'mci-footnotes-admin-styles',
|
||||||
|
plugins_url('../../css/settings.css', __FILE__),
|
||||||
|
'',
|
||||||
|
'2.1.3'
|
||||||
|
);
|
||||||
|
// UPDATE version # when making changes to settings.css, FOR CACHE BUSTING
|
||||||
|
|
||||||
|
|
||||||
// add stylesheet to the output
|
// add stylesheet to the output
|
||||||
wp_enqueue_style('mci-footnotes-admin-styles');
|
wp_enqueue_style('mci-footnotes-admin-styles');
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,8 +10,9 @@
|
||||||
* 2.0.4 2020-11-01T0509+0100
|
* 2.0.4 2020-11-01T0509+0100
|
||||||
* 2.1.0 2020-11-08T2148+0100
|
* 2.1.0 2020-11-08T2148+0100
|
||||||
* 2.1.1 2020-11-16T2152+0100
|
* 2.1.1 2020-11-16T2152+0100
|
||||||
|
* 2.1.3 2020-11-24T0955+0100
|
||||||
*
|
*
|
||||||
* Last modified: 2020-11-16T2152+0100
|
* Last modified: 2020-11-24T0955+0100
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -473,38 +474,62 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
|
||||||
*
|
*
|
||||||
* @author Stefan Herndler
|
* @author Stefan Herndler
|
||||||
* @since 1.5.5
|
* @since 1.5.5
|
||||||
|
*
|
||||||
|
* Edited for:
|
||||||
|
* 2.1.1 add priority level setting for the_content 2020-11-16T2152+0100
|
||||||
|
* 2.2.0 add priority level settings for the other hooks 2020-11-19T1421+0100
|
||||||
*/
|
*/
|
||||||
public function lookupHooks() {
|
public function lookupHooks() {
|
||||||
// load template file
|
// load template file
|
||||||
$l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "expert-lookup");
|
$l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "expert-lookup");
|
||||||
|
|
||||||
// replace all placeholders
|
// replace all placeholders
|
||||||
|
// priority level was initially hard-coded default
|
||||||
|
// shows "9223372036854775807" in the numbox
|
||||||
|
// empty should be interpreted as PHP_INT_MAX,
|
||||||
|
// but a numbox cannot be set to empty: <https://github.com/Modernizr/Modernizr/issues/171>
|
||||||
|
// define -1 as PHP_INT_MAX instead
|
||||||
|
|
||||||
$l_obj_Template->replace(
|
$l_obj_Template->replace(
|
||||||
array(
|
array(
|
||||||
|
|
||||||
|
"description-1" => __("The priority level determines whether Footnotes is executed timely before other plugins, and how the reference container is positioned relative to other features.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"description-2" => __("Default 9223372036854775807 is lowest priority, 0 is highest.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"description-3" => __("To restore default priority, set to -1, interpreted as 9223372036854775807, the constant PHP_INT_MAX.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"description-4" => __("For the reference container to sit above related posts, the priority level of the_content hook may need to be at most 1200.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"description-5" => __("For Footnotes to work when a glossary plugin is active, a higher priority of 1000 may be needed.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"description-6" => __("For the_content, another good pick with proven efficiency is priority level 10.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"description-7" => __("Usually only the_content should be enabled; widget_text may cause issues in accordions, the_title causes issues in browser tabs.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
|
||||||
"head-hook" => __("WordPress hook function name", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
"head-hook" => __("WordPress hook function name", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
"head-checkbox" => __("Activate", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
"head-checkbox" => __("Activate", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
"head-numbox" => __("Priority level", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
"head-url" => __("WordPress documentation", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
"head-url" => __("WordPress documentation", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
|
||||||
|
|
||||||
"label-the-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE, "the_title"),
|
"label-the-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE, "the_title"),
|
||||||
"the-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE),
|
"the-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE),
|
||||||
"url-the-title" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title",
|
"priority-the-title" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX),
|
||||||
|
"url-the-title" => "https://developer.wordpress.org/reference/hooks/the_title/",
|
||||||
|
|
||||||
"label-the-content" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT, "the_content"),
|
"label-the-content" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT, "the_content"),
|
||||||
"the-content" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT),
|
"the-content" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT),
|
||||||
// allowed for priority level are all positive integers, zero and -1 interpreted as PHP_INT_MAX:
|
|
||||||
"priority-the-content" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
|
"priority-the-content" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
|
||||||
"url-the-content" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content",
|
"url-the-content" => "https://developer.wordpress.org/reference/hooks/the_content/",
|
||||||
|
|
||||||
"label-the-excerpt" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT, "the_excerpt"),
|
"label-the-excerpt" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT, "the_excerpt"),
|
||||||
"the-excerpt" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT),
|
"the-excerpt" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT),
|
||||||
"url-the-excerpt" => "http://codex.wordpress.org/Function_Reference/the_excerpt",
|
"priority-the-excerpt" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
|
||||||
|
"url-the-excerpt" => "https://developer.wordpress.org/reference/functions/the_excerpt/",
|
||||||
|
|
||||||
"label-widget-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE, "widget_title"),
|
"label-widget-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE, "widget_title"),
|
||||||
"widget-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE),
|
"widget-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE),
|
||||||
"url-widget-title" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/widget_title",
|
"priority-widget-title" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX),
|
||||||
|
"url-widget-title" => "https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_title",
|
||||||
|
|
||||||
"label-widget-text" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT, "widget_text"),
|
"label-widget-text" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT, "widget_text"),
|
||||||
"widget-text" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT),
|
"widget-text" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT),
|
||||||
"url-widget-text" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/widget_text",
|
"priority-widget-text" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
|
||||||
|
"url-widget-text" => "https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_text",
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
// display template with replaced placeholders
|
// display template with replaced placeholders
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
* Includes the main Class of the Plugin.
|
* Includes the main Class of the Plugin.
|
||||||
*
|
*
|
||||||
* ******************************************************************************************************
|
* ******************************************************************************************************
|
||||||
* IMPORTANT: In registerPublic() line 134: Please keep plugin version # up to date for cache busting. *
|
* IMPORTANT: In registerPublic() line 163: Please keep plugin version # up to date for cache busting. *
|
||||||
|
* Also in class/dashboard/layout:210 for settings.css *
|
||||||
* ******************************************************************************************************
|
* ******************************************************************************************************
|
||||||
*
|
*
|
||||||
* @filesource
|
* @filesource
|
||||||
|
@ -15,7 +16,7 @@
|
||||||
* Edited for v2.0.3: Added style sheet versioning 2020-10-29T1413+0100
|
* Edited for v2.0.3: Added style sheet versioning 2020-10-29T1413+0100
|
||||||
* Edited for v2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100
|
* Edited for v2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100
|
||||||
*
|
*
|
||||||
* Continual update of version number.
|
* Continual update of version number for cache busting.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -134,8 +135,8 @@ class MCI_Footnotes {
|
||||||
wp_enqueue_script( 'jquery-ui-position' );
|
wp_enqueue_script( 'jquery-ui-position' );
|
||||||
wp_enqueue_script( 'jquery-ui-tooltip' );
|
wp_enqueue_script( 'jquery-ui-tooltip' );
|
||||||
|
|
||||||
// enqueue jQuery Tools:
|
// enqueue jQuery Tools: redacted jQuery.browser, completed minification; added versioning 2020-11-18T2150+0100
|
||||||
wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__));
|
wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__), '', '2.1.1');
|
||||||
|
|
||||||
|
|
||||||
// Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
|
// Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
|
||||||
|
@ -159,7 +160,7 @@ class MCI_Footnotes {
|
||||||
'mci-footnotes-css-public',
|
'mci-footnotes-css-public',
|
||||||
plugins_url('../css/public.css', __FILE__),
|
plugins_url('../css/public.css', __FILE__),
|
||||||
'',
|
'',
|
||||||
'2.1.1'
|
'2.1.3'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* 2.1.1 fix start pages by option to hide ref container
|
* 2.1.1 fix start pages by option to hide ref container
|
||||||
* 2.1.1 fix ref container by option restoring 3-column layout
|
* 2.1.1 fix ref container by option restoring 3-column layout
|
||||||
* 2.1.1 fix ref container by option to switch index/symbol 2020-11-16T2022+0100
|
* 2.1.1 fix ref container by option to switch index/symbol 2020-11-16T2022+0100
|
||||||
* 2.1.1 fix ref container positioning by priority level 2020-11-17T0205+0100
|
* 2.1.3 fix ref container positioning by priority level 2020-11-17T0205+0100
|
||||||
*
|
*
|
||||||
* Last modified: 2020-11-17T0311+0100
|
* Last modified: 2020-11-17T0311+0100
|
||||||
*/
|
*/
|
||||||
|
@ -425,17 +425,14 @@ class MCI_Footnotes_Settings {
|
||||||
"footnotes_storage" => array(
|
"footnotes_storage" => array(
|
||||||
|
|
||||||
self::C_STR_REFERENCE_CONTAINER_NAME => 'References',
|
self::C_STR_REFERENCE_CONTAINER_NAME => 'References',
|
||||||
self::C_BOOL_REFERENCE_CONTAINER_COLLAPSE => '',
|
self::C_BOOL_REFERENCE_CONTAINER_COLLAPSE => 'no',
|
||||||
self::C_STR_REFERENCE_CONTAINER_POSITION => 'post_end',
|
self::C_STR_REFERENCE_CONTAINER_POSITION => 'post_end',
|
||||||
// Identical footnotes should not be combined by default
|
self::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES => 'yes',
|
||||||
// as long as the feature raises criticism for malfunctioning:
|
|
||||||
// <https://wordpress.org/support/topic/too-many-errors-18/>
|
|
||||||
self::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES => '',
|
|
||||||
|
|
||||||
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes',
|
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes',
|
||||||
self::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes',
|
self::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes',
|
||||||
self::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => '',
|
self::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no',
|
||||||
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => '',
|
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no',
|
||||||
|
|
||||||
self::C_STR_FOOTNOTES_SHORT_CODE_START => '((',
|
self::C_STR_FOOTNOTES_SHORT_CODE_START => '((',
|
||||||
self::C_STR_FOOTNOTES_SHORT_CODE_END => '))',
|
self::C_STR_FOOTNOTES_SHORT_CODE_END => '))',
|
||||||
|
@ -443,8 +440,12 @@ class MCI_Footnotes_Settings {
|
||||||
self::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED => '',
|
self::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED => '',
|
||||||
self::C_STR_FOOTNOTES_COUNTER_STYLE => 'arabic_plain',
|
self::C_STR_FOOTNOTES_COUNTER_STYLE => 'arabic_plain',
|
||||||
self::C_STR_FOOTNOTES_LOVE => 'no',
|
self::C_STR_FOOTNOTES_LOVE => 'no',
|
||||||
self::C_BOOL_FOOTNOTES_IN_EXCERPT => 'yes',
|
self::C_BOOL_FOOTNOTES_IN_EXCERPT => 'no',
|
||||||
self::C_BOOL_FOOTNOTES_EXPERT_MODE => 'no'
|
|
||||||
|
// since removal of the_post hook, expert mode is no danger zone
|
||||||
|
// not for experts only; raising awareness about relative positioning
|
||||||
|
// changed default to 'yes':
|
||||||
|
self::C_BOOL_FOOTNOTES_EXPERT_MODE => 'yes'
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -455,14 +456,18 @@ class MCI_Footnotes_Settings {
|
||||||
self::C_BOOL_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes',
|
self::C_BOOL_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes',
|
||||||
|
|
||||||
// The default footnote referrer surroundings should be square brackets:
|
// The default footnote referrer surroundings should be square brackets:
|
||||||
// * as in English typesetting;
|
// * with respect to baseline footnote referrers new option;
|
||||||
|
// * as in English or US American typesetting;
|
||||||
// * for better UX thanks to a more button-like appearance;
|
// * for better UX thanks to a more button-like appearance;
|
||||||
// * for stylistic consistency with the expand-collapse button
|
// * for stylistic consistency with the expand-collapse button;
|
||||||
self::C_STR_FOOTNOTES_STYLING_BEFORE => '[',
|
self::C_STR_FOOTNOTES_STYLING_BEFORE => '[',
|
||||||
self::C_STR_FOOTNOTES_STYLING_AFTER => ']',
|
self::C_STR_FOOTNOTES_STYLING_AFTER => ']',
|
||||||
|
|
||||||
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes',
|
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes',
|
||||||
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => '',
|
|
||||||
|
// alternative, low-script tooltips using CSS for transitions
|
||||||
|
// in response to user demand for website with jQuery UI outage
|
||||||
|
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => 'no',
|
||||||
|
|
||||||
// The mouse over content truncation should be enabled by default
|
// The mouse over content truncation should be enabled by default
|
||||||
// to raise awareness of the functionality and to prevent the screen
|
// to raise awareness of the functionality and to prevent the screen
|
||||||
|
@ -510,13 +515,27 @@ class MCI_Footnotes_Settings {
|
||||||
// See <https://wordpress.org/support/topic/more-feature-ideas/>
|
// See <https://wordpress.org/support/topic/more-feature-ideas/>
|
||||||
// Yet in titles, footnotes are functionally pointless in WordPress.
|
// Yet in titles, footnotes are functionally pointless in WordPress.
|
||||||
self::C_BOOL_EXPERT_LOOKUP_THE_TITLE => '',
|
self::C_BOOL_EXPERT_LOOKUP_THE_TITLE => '',
|
||||||
self::C_BOOL_EXPERT_LOOKUP_THE_CONTENT => 'yes',
|
|
||||||
self::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT => 'yes',
|
|
||||||
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => '',
|
|
||||||
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => 'yes',
|
|
||||||
|
|
||||||
|
// This is the only useful one:
|
||||||
|
self::C_BOOL_EXPERT_LOOKUP_THE_CONTENT => 'yes',
|
||||||
|
|
||||||
|
// And the_excerpt is disabled by default following @nikelaos in
|
||||||
|
// <https://wordpress.org/support/topic/jquery-comes-up-in-feed-content/#post-13110879>
|
||||||
|
// <https://wordpress.org/support/topic/doesnt-work-any-more-11/#post-13687068>
|
||||||
|
self::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT => '',
|
||||||
|
|
||||||
|
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => '',
|
||||||
|
|
||||||
|
// disabled by default because of issues with footnotes in Elementor accordions:
|
||||||
|
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => '',
|
||||||
|
|
||||||
|
// initially hard-coded default
|
||||||
|
// shows "9223372036854775807" in the numbox
|
||||||
|
// empty should be interpreted as PHP_INT_MAX,
|
||||||
|
// but a numbox cannot be set to empty: <https://github.com/Modernizr/Modernizr/issues/171>
|
||||||
|
// define -1 as PHP_INT_MAX instead
|
||||||
self::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX,
|
self::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX,
|
||||||
self::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => PHP_INT_MAX,
|
self::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => 10,
|
||||||
self::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX,
|
self::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX,
|
||||||
self::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL => PHP_INT_MAX,
|
self::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL => PHP_INT_MAX,
|
||||||
self::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL => PHP_INT_MAX,
|
self::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL => PHP_INT_MAX,
|
||||||
|
|
120
class/task.php
120
class/task.php
|
@ -16,8 +16,9 @@
|
||||||
* 2.1.1: combining identical footnotes: fixed dead links 2020-11-14T2233+0100
|
* 2.1.1: combining identical footnotes: fixed dead links 2020-11-14T2233+0100
|
||||||
* 2.1.1: options fixing ref container layout and referrer vertical alignment 2020-11-16T2024+0100
|
* 2.1.1: options fixing ref container layout and referrer vertical alignment 2020-11-16T2024+0100
|
||||||
* 2.1.1: option fixing ref container relative position 2020-11-17T0254+0100
|
* 2.1.1: option fixing ref container relative position 2020-11-17T0254+0100
|
||||||
|
* 2.1.2: options for the other hooks 2020-11-19T1849+0100
|
||||||
*
|
*
|
||||||
* Last modified 2020-11-18T0138+0100
|
* Last modified: 2020-11-24T0957+0100
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// If called directly, abort:
|
// If called directly, abort:
|
||||||
|
@ -64,27 +65,39 @@ class MCI_Footnotes_Task {
|
||||||
* @author Stefan Herndler
|
* @author Stefan Herndler
|
||||||
* @since 1.5.0
|
* @since 1.5.0
|
||||||
*
|
*
|
||||||
* Edited for v2.0.5 through v2.0.7 2020-11-02T0330+0100..2020-11-06T1344+0100
|
* Edited for:
|
||||||
|
* 2.0.5 through v2.0.7 changes to priority 2020-11-02T0330+0100..2020-11-06T1344+0100
|
||||||
|
* 2.1.1 add setting for the_content
|
||||||
|
* 2.1.2 add settings for 4 other hooks 2020-11-19T1248+0100
|
||||||
*
|
*
|
||||||
* Explicitly setting all priority to (default) "10" instead of lowest "PHP_INT_MAX",
|
* Setting the_content priority to "10" instead of PHP_INT_MAX i.e. 9223372036854775807
|
||||||
* especially for the_content, makes the footnotes reference container display
|
* makes the footnotes reference container display beneath the post and above other
|
||||||
* beneath the content and above other features added by other plugins.
|
* features added by other plugins, e.g. related post lists and social buttons.
|
||||||
|
* For YARPP to display related posts below the Footnotes reference container,
|
||||||
|
* priority needs to be at least 1200.
|
||||||
* Requested by users: <https://wordpress.org/support/topic/change-the-position-5/>
|
* Requested by users: <https://wordpress.org/support/topic/change-the-position-5/>
|
||||||
* Documentation: <https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter>
|
* Documentation: <https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter>
|
||||||
*
|
*
|
||||||
* But this change is suspected to cause issues and needs to be assessed!
|
* Default remains PHP_INT_MAX.
|
||||||
* See <https://wordpress.org/support/topic/change-the-position-5/#post-13612697>
|
* PHP_INT_MAX cannot be reset by leaving the number box empty. because browsers
|
||||||
|
* (WebKit) don’t allow it, so we must resort to -1.
|
||||||
*/
|
*/
|
||||||
public function registerHooks() {
|
public function registerHooks() {
|
||||||
|
|
||||||
// first compute values from settings:
|
// get values from settings:
|
||||||
// for now only the_content is supported for customization:
|
$p_int_TheTitlePriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL));
|
||||||
$p_int_TheContentPriority = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL);
|
$p_int_TheContentPriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL));
|
||||||
|
$p_int_TheExcerptPriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL));
|
||||||
|
$p_int_WidgetTitlePriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL));
|
||||||
|
$p_int_WidgetTextPriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL));
|
||||||
|
|
||||||
|
// PHP_INT_MAX can be set by -1:
|
||||||
|
$p_int_TheTitlePriority = ($p_int_TheTitlePriority == -1) ? PHP_INT_MAX : $p_int_TheTitlePriority ;
|
||||||
|
$p_int_TheContentPriority = ($p_int_TheContentPriority == -1) ? PHP_INT_MAX : $p_int_TheContentPriority ;
|
||||||
|
$p_int_TheExcerptPriority = ($p_int_TheExcerptPriority == -1) ? PHP_INT_MAX : $p_int_TheExcerptPriority ;
|
||||||
|
$p_int_WidgetTitlePriority = ($p_int_WidgetTitlePriority == -1) ? PHP_INT_MAX : $p_int_WidgetTitlePriority;
|
||||||
|
$p_int_WidgetTextPriority = ($p_int_WidgetTextPriority == -1) ? PHP_INT_MAX : $p_int_WidgetTextPriority ;
|
||||||
|
|
||||||
// PHP_INT_MAX can be set using the value -1:
|
|
||||||
if ( $p_int_TheContentPriority == -1 ) {
|
|
||||||
$p_int_TheContentPriority = PHP_INT_MAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
// append custom css to the header
|
// append custom css to the header
|
||||||
add_filter('wp_head', array($this, "wp_head"), PHP_INT_MAX);
|
add_filter('wp_head', array($this, "wp_head"), PHP_INT_MAX);
|
||||||
|
@ -93,25 +106,30 @@ class MCI_Footnotes_Task {
|
||||||
add_filter('wp_footer', array($this, "wp_footer"), PHP_INT_MAX);
|
add_filter('wp_footer', array($this, "wp_footer"), PHP_INT_MAX);
|
||||||
|
|
||||||
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE))) {
|
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE))) {
|
||||||
add_filter('the_title', array($this, "the_title"), PHP_INT_MAX);
|
add_filter('the_title', array($this, "the_title"), $p_int_TheTitlePriority);
|
||||||
}
|
}
|
||||||
|
|
||||||
// SET PRIORITY LEVEL TO CUSTOM FOR PAGE LAYOUT; DEFAULT PHP_INT_MAX:
|
// custom priority level for reference container relative positioning; default PHP_INT_MAX:
|
||||||
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT))) {
|
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT))) {
|
||||||
add_filter('the_content', array($this, "the_content"), $p_int_TheContentPriority);
|
add_filter('the_content', array($this, "the_content"), $p_int_TheContentPriority);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT))) {
|
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT))) {
|
||||||
add_filter('the_excerpt', array($this, "the_excerpt"), PHP_INT_MAX);
|
add_filter('the_excerpt', array($this, "the_excerpt"), $p_int_TheExcerptPriority);
|
||||||
}
|
}
|
||||||
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE))) {
|
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE))) {
|
||||||
add_filter('widget_title', array($this, "widget_title"), PHP_INT_MAX);
|
add_filter('widget_title', array($this, "widget_title"), $p_int_WidgetTitlePriority);
|
||||||
}
|
}
|
||||||
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT))) {
|
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT))) {
|
||||||
add_filter('widget_text', array($this, "widget_text"), PHP_INT_MAX);
|
add_filter('widget_text', array($this, "widget_text"), $p_int_WidgetTextPriority);
|
||||||
}
|
}
|
||||||
// DISABLED the_post HOOK 2020-11-08T1839+0100
|
|
||||||
|
|
||||||
|
// REMOVED the_post HOOK 2020-11-08T1839+0100
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
// reset stored footnotes when displaying the header
|
// reset stored footnotes when displaying the header
|
||||||
self::$a_arr_Footnotes = array();
|
self::$a_arr_Footnotes = array();
|
||||||
self::$a_bool_AllowLoveMe = true;
|
self::$a_bool_AllowLoveMe = true;
|
||||||
|
@ -134,7 +152,6 @@ class MCI_Footnotes_Task {
|
||||||
?>
|
?>
|
||||||
<style type="text/css" media="screen">
|
<style type="text/css" media="screen">
|
||||||
<?php
|
<?php
|
||||||
echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_CUSTOM_CSS);
|
|
||||||
|
|
||||||
if (!MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE))) {
|
if (!MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE))) {
|
||||||
echo "\r\n.home .footnotes_reference_container { display: none; }\r\n";
|
echo "\r\n.home .footnotes_reference_container { display: none; }\r\n";
|
||||||
|
@ -142,22 +159,22 @@ class MCI_Footnotes_Task {
|
||||||
|
|
||||||
echo '.footnote_tooltip {';
|
echo '.footnote_tooltip {';
|
||||||
if (!empty($l_str_Color)) {
|
if (!empty($l_str_Color)) {
|
||||||
printf(" color: %s;", $l_str_Color);
|
printf(" color: %s !important;", $l_str_Color);
|
||||||
}
|
}
|
||||||
if (!empty($l_str_Background)) {
|
if (!empty($l_str_Background)) {
|
||||||
printf(" background-color: %s;", $l_str_Background);
|
printf(" background-color: %s !important;", $l_str_Background);
|
||||||
}
|
}
|
||||||
if (!empty($l_int_BorderWidth) && intval($l_int_BorderWidth) > 0) {
|
if (!empty($l_int_BorderWidth) && intval($l_int_BorderWidth) > 0) {
|
||||||
printf(" border-width: %dpx; border-style: solid;", $l_int_BorderWidth);
|
printf(" border-width: %dpx !important; border-style: solid !important;", $l_int_BorderWidth);
|
||||||
}
|
}
|
||||||
if (!empty($l_str_BorderColor)) {
|
if (!empty($l_str_BorderColor)) {
|
||||||
printf(" border-color: %s;", $l_str_BorderColor);
|
printf(" border-color: %s !important;", $l_str_BorderColor);
|
||||||
}
|
}
|
||||||
if (!empty($l_int_BorderRadius) && intval($l_int_BorderRadius) > 0) {
|
if (!empty($l_int_BorderRadius) && intval($l_int_BorderRadius) > 0) {
|
||||||
printf(" border-radius: %dpx;", $l_int_BorderRadius);
|
printf(" border-radius: %dpx !important;", $l_int_BorderRadius);
|
||||||
}
|
}
|
||||||
if (!empty($l_int_MaxWidth) && intval($l_int_MaxWidth) > 0) {
|
if (!empty($l_int_MaxWidth) && intval($l_int_MaxWidth) > 0) {
|
||||||
printf(" max-width: %dpx;", $l_int_MaxWidth);
|
printf(" max-width: %dpx !important;", $l_int_MaxWidth);
|
||||||
}
|
}
|
||||||
if (!empty($l_str_BoxShadowColor)) {
|
if (!empty($l_str_BoxShadowColor)) {
|
||||||
printf(" -webkit-box-shadow: 2px 2px 11px %s;", $l_str_BoxShadowColor);
|
printf(" -webkit-box-shadow: 2px 2px 11px %s;", $l_str_BoxShadowColor);
|
||||||
|
@ -165,7 +182,11 @@ class MCI_Footnotes_Task {
|
||||||
printf(" box-shadow: 2px 2px 11px %s;", $l_str_BoxShadowColor);
|
printf(" box-shadow: 2px 2px 11px %s;", $l_str_BoxShadowColor);
|
||||||
}
|
}
|
||||||
echo '}';
|
echo '}';
|
||||||
?>
|
|
||||||
|
// set custom CSS to override settings, not conversely:
|
||||||
|
echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_CUSTOM_CSS);
|
||||||
|
|
||||||
|
?>
|
||||||
</style>
|
</style>
|
||||||
<?php
|
<?php
|
||||||
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE))) {
|
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE))) {
|
||||||
|
@ -630,17 +651,24 @@ class MCI_Footnotes_Task {
|
||||||
|
|
||||||
$l_str_FootnoteId = $l_str_FootnoteIndex;
|
$l_str_FootnoteId = $l_str_FootnoteIndex;
|
||||||
|
|
||||||
// The dedicated template enumerating backlinks uses a new placeholder:
|
// in case the footnote is unique:
|
||||||
|
$l_str_FootnoteReference = '<a id="footnote_plugin_reference_';
|
||||||
|
$l_str_FootnoteReference .= $l_int_PostId;
|
||||||
|
$l_str_FootnoteReference .= "_$l_str_FootnoteId\"";
|
||||||
|
$l_str_FootnoteReference .= ' class="footnote_backlink"';
|
||||||
|
|
||||||
$l_str_FootnoteBacklinks = '<a id="footnote_plugin_reference_';
|
// the click event goes in the table cell:
|
||||||
$l_str_FootnoteBacklinks .= $l_int_PostId;
|
$l_str_BacklinkEvent = ' onclick="footnote_moveToAnchor_' . $l_int_PostId;
|
||||||
$l_str_FootnoteBacklinks .= "_$l_str_FootnoteId";
|
$l_str_BacklinkEvent .= "('footnote_plugin_tooltip_$l_int_PostId";
|
||||||
$l_str_FootnoteBacklinks .= '" class="footnote_backlink" ';
|
$l_str_BacklinkEvent .= "_$l_str_FootnoteId');\"";
|
||||||
$l_str_FootnoteBacklinks .= 'onclick="footnote_moveToAnchor_' . $l_int_PostId;
|
|
||||||
$l_str_FootnoteBacklinks .= "('footnote_plugin_tooltip_$l_int_PostId";
|
// the dedicated template enumerating backlinks uses another variable:
|
||||||
$l_str_FootnoteBacklinks .= "_$l_str_FootnoteId');\">";
|
$l_str_FootnoteBacklinks = $l_str_FootnoteReference;
|
||||||
$l_str_FootnoteBacklinks .= $l_str_FootnoteArrow;
|
$l_str_FootnoteBacklinks .= $l_str_BacklinkEvent;
|
||||||
$l_str_FootnoteBacklinks .= $l_str_FootnoteId . '</a>';
|
|
||||||
|
// finish both single note and notes cluster:
|
||||||
|
$l_str_FootnoteReference .= ">$l_str_FootnoteArrow$l_str_FootnoteId</a>";
|
||||||
|
$l_str_FootnoteBacklinks .= ">$l_str_FootnoteArrow$l_str_FootnoteId</a>";
|
||||||
|
|
||||||
// If that is the only footnote with this text, we’re done.
|
// If that is the only footnote with this text, we’re done.
|
||||||
|
|
||||||
|
@ -660,6 +688,9 @@ class MCI_Footnotes_Task {
|
||||||
// if so, set the further footnote as empty so it won't be displayed later:
|
// if so, set the further footnote as empty so it won't be displayed later:
|
||||||
self::$a_arr_Footnotes[$l_int_CheckIndex] = "";
|
self::$a_arr_Footnotes[$l_int_CheckIndex] = "";
|
||||||
|
|
||||||
|
// cancel the event altogether:
|
||||||
|
$l_str_BacklinkEvent = "";
|
||||||
|
|
||||||
|
|
||||||
// HERE GOES THE FRAGMENT IDENTIFIER AND THE BACKLINK TOO:
|
// HERE GOES THE FRAGMENT IDENTIFIER AND THE BACKLINK TOO:
|
||||||
// add the footnote index to the actual index:
|
// add the footnote index to the actual index:
|
||||||
|
@ -667,16 +698,15 @@ class MCI_Footnotes_Task {
|
||||||
// update the footnote ID:
|
// update the footnote ID:
|
||||||
$l_str_FootnoteId = MCI_Footnotes_Convert::Index(($l_int_CheckIndex + 1), MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE));
|
$l_str_FootnoteId = MCI_Footnotes_Convert::Index(($l_int_CheckIndex + 1), MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE));
|
||||||
|
|
||||||
// keep on composing the backlinks enumeration:
|
// resume composing the backlinks enumeration:
|
||||||
$l_str_FootnoteBacklinks .= ', <a id="footnote_plugin_reference_';
|
$l_str_FootnoteBacklinks .= ', <a id="footnote_plugin_reference_';
|
||||||
$l_str_FootnoteBacklinks .= $l_int_PostId;
|
$l_str_FootnoteBacklinks .= $l_int_PostId;
|
||||||
$l_str_FootnoteBacklinks .= "_$l_str_FootnoteId";
|
$l_str_FootnoteBacklinks .= "_$l_str_FootnoteId";
|
||||||
$l_str_FootnoteBacklinks .= '" class="footnote_backlink" ';
|
$l_str_FootnoteBacklinks .= '" class="footnote_backlink" ';
|
||||||
$l_str_FootnoteBacklinks .= 'onclick="footnote_moveToAnchor_' . $l_int_PostId;
|
$l_str_FootnoteBacklinks .= 'onclick="footnote_moveToAnchor_' . $l_int_PostId;
|
||||||
$l_str_FootnoteBacklinks .= "('footnote_plugin_tooltip_$l_int_PostId";
|
$l_str_FootnoteBacklinks .= "('footnote_plugin_tooltip_$l_int_PostId";
|
||||||
$l_str_FootnoteBacklinks .= "_$l_str_FootnoteId');\">";
|
$l_str_FootnoteBacklinks .= "_$l_str_FootnoteId');\"";
|
||||||
$l_str_FootnoteBacklinks .= $l_str_FootnoteArrow;
|
$l_str_FootnoteBacklinks .= ">$l_str_FootnoteArrow$l_str_FootnoteId</a>";
|
||||||
$l_str_FootnoteBacklinks .= $l_str_FootnoteId . '</a>';
|
|
||||||
|
|
||||||
// this legacy is not used:
|
// this legacy is not used:
|
||||||
//$l_str_FootnoteIndex .= ', ' . MCI_Footnotes_Convert::Index(($l_int_CheckIndex + 1), MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE));
|
//$l_str_FootnoteIndex .= ', ' . MCI_Footnotes_Convert::Index(($l_int_CheckIndex + 1), MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE));
|
||||||
|
@ -687,6 +717,8 @@ class MCI_Footnotes_Task {
|
||||||
|
|
||||||
// replace all placeholders in 'templates/public/reference-container-body.html'
|
// replace all placeholders in 'templates/public/reference-container-body.html'
|
||||||
// or in 'templates/public/reference-container-body-combi.html'
|
// or in 'templates/public/reference-container-body-combi.html'
|
||||||
|
// or in 'templates/public/reference-container-body-3column.html'
|
||||||
|
// or in 'templates/public/reference-container-body-switch.html'
|
||||||
$l_obj_Template->replace(
|
$l_obj_Template->replace(
|
||||||
array(
|
array(
|
||||||
// placeholder used in all templates:
|
// placeholder used in all templates:
|
||||||
|
@ -697,7 +729,9 @@ class MCI_Footnotes_Task {
|
||||||
"id" => MCI_Footnotes_Convert::Index($l_int_FirstFootnoteIndex, MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE)),
|
"id" => MCI_Footnotes_Convert::Index($l_int_FirstFootnoteIndex, MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE)),
|
||||||
|
|
||||||
// used in standard layout WITH COMBINED IDENTICALS TURNED ON:
|
// used in standard layout WITH COMBINED IDENTICALS TURNED ON:
|
||||||
"backlinks" => $l_str_FootnoteBacklinks,
|
"pointer" => empty($l_str_BacklinkEvent) ? '' : ' pointer',
|
||||||
|
"event" => $l_str_BacklinkEvent,
|
||||||
|
"backlinks" => empty($l_str_BacklinkEvent) ? $l_str_FootnoteBacklinks : $l_str_FootnoteReference,
|
||||||
|
|
||||||
// Legacy placeholders for use in legacy layout templates:
|
// Legacy placeholders for use in legacy layout templates:
|
||||||
"arrow" => $l_str_FootnoteArrow,
|
"arrow" => $l_str_FootnoteArrow,
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
* Created-Date: 15.05.14
|
* Created-Date: 15.05.14
|
||||||
* Created-Time: 16:21
|
* Created-Time: 16:21
|
||||||
* Since: 1.0
|
* Since: 1.0
|
||||||
* Version: 2.1.1
|
* Version: 2.1.3
|
||||||
*
|
*
|
||||||
* Last modified: 2020-11-18T0137+0100
|
* Last modified: 2020-11-24T0958+0100
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
/*****************************************************
|
||||||
MCI Footnotes logo
|
MCI Footnotes logo
|
||||||
The classes with 'heading' fix display in dashboard
|
The classes with 'heading' fix display in dashboard
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ css/settings.css
|
||||||
color: #545f5a;
|
color: #545f5a;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
/*****************************************************
|
||||||
Footnote referrers and tooltips
|
Footnote referrers and tooltips
|
||||||
|
|
||||||
templates/public/footnote.html
|
templates/public/footnote.html
|
||||||
|
@ -131,7 +131,7 @@ Read-on button
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
/*****************************************************
|
||||||
Footnote references container
|
Footnote references container
|
||||||
|
|
||||||
templates/public/reference-container.html
|
templates/public/reference-container.html
|
||||||
|
@ -192,7 +192,6 @@ footnotes
|
||||||
reference-container-body.html
|
reference-container-body.html
|
||||||
*/
|
*/
|
||||||
.footnote_plugin_index,
|
.footnote_plugin_index,
|
||||||
.footnote_plugin_index_combi,
|
|
||||||
.footnote_plugin_link,
|
.footnote_plugin_link,
|
||||||
.footnote_plugin_text {
|
.footnote_plugin_text {
|
||||||
border:none !important;
|
border:none !important;
|
||||||
|
@ -218,7 +217,6 @@ when hovered in some themes, not in others:
|
||||||
.footnote_plugin_index.pointer:hover,
|
.footnote_plugin_index.pointer:hover,
|
||||||
*/
|
*/
|
||||||
.footnote_backlink:hover,
|
.footnote_backlink:hover,
|
||||||
.footnote_plugin_index_combi:hover,
|
|
||||||
.footnote_plugin_link:hover,
|
.footnote_plugin_link:hover,
|
||||||
.footnote_plugin_text a:hover {
|
.footnote_plugin_text a:hover {
|
||||||
text-decoration: unset;
|
text-decoration: unset;
|
||||||
|
@ -226,7 +224,7 @@ when hovered in some themes, not in others:
|
||||||
}
|
}
|
||||||
.footnote_plugin_index {
|
.footnote_plugin_index {
|
||||||
max-width: 140px;
|
max-width: 140px;
|
||||||
width: 2em; /*auto-extending column to fit widest*/
|
width: 2em; /*auto-expanding column to fit widest*/
|
||||||
}
|
}
|
||||||
.footnote_backlink,
|
.footnote_backlink,
|
||||||
.footnote_plugin_link {
|
.footnote_plugin_link {
|
||||||
|
@ -242,6 +240,12 @@ when hovered in some themes, not in others:
|
||||||
.footnote_plugin_text {
|
.footnote_plugin_text {
|
||||||
width: unset; /*unset width of text column to fix site issues*/
|
width: unset; /*unset width of text column to fix site issues*/
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
prevent long URLs from expanding the reference container in mobile view:
|
||||||
|
*/
|
||||||
|
.footnote_plugin_text a {
|
||||||
|
word-wrap: anywhere;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Responsive
|
Responsive
|
||||||
|
@ -252,7 +256,7 @@ Responsive
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
|
/****************************************************************
|
||||||
Footnotes printing style rules
|
Footnotes printing style rules
|
||||||
|
|
||||||
Printing a table, browsers tend to avoid page breaks,
|
Printing a table, browsers tend to avoid page breaks,
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
* Created-Date: 15.05.14
|
* Created-Date: 15.05.14
|
||||||
* Created-Time: 16:21
|
* Created-Time: 16:21
|
||||||
* Since: 1.0
|
* Since: 1.0
|
||||||
* Version: 2.1.1
|
* Version: 2.1.3
|
||||||
*
|
*
|
||||||
* Last modified: 2020-11-18T0136+0100
|
* Last modified: 2020-11-24T0957+0100
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,7 +38,10 @@
|
||||||
left: 96px;
|
left: 96px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
On User Request: limited to a number of IDs to not affect all dashboards
|
||||||
|
<https://wordpress.org/support/topic/all-input-have-width-80/>
|
||||||
|
*/
|
||||||
#footnote_inputfield_placeholder_start_user_defined,
|
#footnote_inputfield_placeholder_start_user_defined,
|
||||||
#footnote_inputfield_placeholder_end_user_defined,
|
#footnote_inputfield_placeholder_end_user_defined,
|
||||||
#footnote_inputfield_readon_label,
|
#footnote_inputfield_readon_label,
|
||||||
|
@ -96,3 +99,35 @@ span.footnote_highlight_placeholder {
|
||||||
margin: 20px auto !important;
|
margin: 20px auto !important;
|
||||||
text-align: center !important;
|
text-align: center !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
initialized from style attributes in templates
|
||||||
|
IE doesn’t support nth child, but these are not critical
|
||||||
|
*/
|
||||||
|
.expert-lookup tr th:first-child,
|
||||||
|
.expert-lookup tr td:first-child {
|
||||||
|
width: 170px !important;
|
||||||
|
}
|
||||||
|
.expert-lookup tr th:nth-child(2),
|
||||||
|
.expert-lookup tr td:nth-child(2) {
|
||||||
|
width: 65px !important;
|
||||||
|
}
|
||||||
|
.expert-lookup tr th:nth-child(3),
|
||||||
|
.expert-lookup tr td:nth-child(3) {
|
||||||
|
width: 200px !important;
|
||||||
|
}
|
||||||
|
.expert-lookup tr td:nth-child(3) input {
|
||||||
|
width: 190px;
|
||||||
|
}
|
||||||
|
.expert-lookup tr th:last-child,
|
||||||
|
.expert-lookup tr td:last-child {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnotes-description {
|
||||||
|
padding: 0 10%;
|
||||||
|
}
|
||||||
|
.footnotes-description p {
|
||||||
|
font-size: 1.4em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
Plugin URI: https://wordpress.org/plugins/footnotes/
|
Plugin URI: https://wordpress.org/plugins/footnotes/
|
||||||
Description: time to bring footnotes to your website! footnotes are known from offline publishing and everybody takes them for granted when reading a magazine.
|
Description: time to bring footnotes to your website! footnotes are known from offline publishing and everybody takes them for granted when reading a magazine.
|
||||||
Author: Mark Cheret
|
Author: Mark Cheret
|
||||||
Version: 2.1.1
|
Version: 2.1.3
|
||||||
Author URI: http://cheret.de/plugins/footnotes-2/
|
Author URI: http://cheret.de/plugins/footnotes-2/
|
||||||
Text Domain: footnotes
|
Text Domain: footnotes
|
||||||
Domain Path: /languages
|
Domain Path: /languages
|
||||||
|
|
21
readme.txt
21
readme.txt
|
@ -4,7 +4,7 @@ Tags: footnote, footnotes, bibliography, formatting, notes, Post, posts, referen
|
||||||
Requires at least: 3.9
|
Requires at least: 3.9
|
||||||
Tested up to: 5.5
|
Tested up to: 5.5
|
||||||
Requires PHP: 5.6
|
Requires PHP: 5.6
|
||||||
Stable Tag: 2.1.1
|
Stable Tag: 2.1.3
|
||||||
License: GPLv3 or later
|
License: GPLv3 or later
|
||||||
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
||||||
|
|
||||||
|
@ -80,6 +80,21 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
|
||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
= 2.1.3 =
|
||||||
|
- Bugfix: disable widget_text hook by default to fix accordions declaring headings as widgets
|
||||||
|
- Bugfix: Reference container: fix column width when combining turned on by reverting new CSS class to legacy
|
||||||
|
- Bugfix: Reference container: fix width in mobile view by URL wrapping wrt Unicode-non-conformant browsers
|
||||||
|
- Bugfix: Reference container: table cell backlinking if index is single and combining identicals turned on
|
||||||
|
- Bugfix: Styling: raise Custom CSS priority to override settings
|
||||||
|
- Bugfix: Styling: Tooltips: raise settings priority to override theme style sheets
|
||||||
|
|
||||||
|
= 2.1.2 =
|
||||||
|
- Bugfix: Layout: Reference container: Backlinks: no underline on hover cell when combining identicals is on
|
||||||
|
- Bugfix: Elementor: add experimental support for section name function
|
||||||
|
- Bugfix: Dashboard: priority level settings for all other hooks
|
||||||
|
- Update: Dashboard: WordPress documentation URLs of the hooks
|
||||||
|
- Update: Dashboard: feature description for the hooks priority level settings (not yet localized)
|
||||||
|
|
||||||
= 2.1.1 =
|
= 2.1.1 =
|
||||||
- Bugfix: Combining identical footnotes: fix dead links, ensure referrer-backlink bijectivity
|
- Bugfix: Combining identical footnotes: fix dead links, ensure referrer-backlink bijectivity
|
||||||
- Update: Libraries: jQuery Tools: redact jQuery.browser function use in js/jquery.tools.min.js
|
- Update: Libraries: jQuery Tools: redact jQuery.browser function use in js/jquery.tools.min.js
|
||||||
|
@ -98,13 +113,13 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
|
||||||
- Bugfix: Layout: Reference container: fix start pages by an option to hide the reference container
|
- Bugfix: Layout: Reference container: fix start pages by an option to hide the reference container
|
||||||
- Bugfix: Layout: Reference container: Table rows: fix top and bottom padding
|
- Bugfix: Layout: Reference container: Table rows: fix top and bottom padding
|
||||||
- Bugfix: Layout: Footnote referrers: new fix for line height
|
- Bugfix: Layout: Footnote referrers: new fix for line height
|
||||||
- Bugfix: Formatting: disabled overline showing in some themes on hovered backlinks
|
- Bugfix: Formatting: disable overline showing in some themes on hovered backlinks
|
||||||
|
|
||||||
= 2.1.0 =
|
= 2.1.0 =
|
||||||
- Add: UI: Tooltip: made 'Continue reading' button label customizable
|
- Add: UI: Tooltip: made 'Continue reading' button label customizable
|
||||||
- Bugfix: Layout: Footnote referrers: disabled bottom border for theme compatibility
|
- Bugfix: Layout: Footnote referrers: disabled bottom border for theme compatibility
|
||||||
- Update: Accessibility: added 'speaker-mute' class to reference container
|
- Update: Accessibility: added 'speaker-mute' class to reference container
|
||||||
- Bugfix: Settings layout: added named selectors to limit applicability of styles
|
- Bugfix: Dashboard: Layout: added named selectors to limit applicability of styles
|
||||||
- UPDATE: REMOVED the_post hook, the plugin stopped supporting this hook
|
- UPDATE: REMOVED the_post hook, the plugin stopped supporting this hook
|
||||||
|
|
||||||
= 2.0.8 =
|
= 2.0.8 =
|
||||||
|
|
|
@ -1,42 +1,51 @@
|
||||||
<table class="widefat fixed">
|
<div class="expert-lookup footnotes-description">
|
||||||
|
<p>[[description-1]]</p>
|
||||||
|
<p>[[description-2]]</p>
|
||||||
|
<p>[[description-3]]</p>
|
||||||
|
<p>[[description-4]]</p>
|
||||||
|
<p>[[description-5]]</p>
|
||||||
|
<p>[[description-6]]</p>
|
||||||
|
<p>[[description-7]]</p>
|
||||||
|
</div>
|
||||||
|
<table class="expert-lookup widefat fixed">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 220px !important;">[[head-hook]]</th>
|
<th>[[head-hook]]</th>
|
||||||
<th style="width: 65px !important;">[[head-checkbox]]</th>
|
<th>[[head-checkbox]]</th>
|
||||||
<th style="width: 165px;">Priority level<br /><em>Set -1 for minimum priority</em></th>
|
<th>[[head-numbox]]</th>
|
||||||
<th style="white-space: nowrap;">[[head-url]]</th>
|
<th>[[head-url]]</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 220px !important;">[[label-the-title]]</td>
|
<td>[[label-the-title]]</td>
|
||||||
<td style="width: 65px !important;">[[the-title]]</td>
|
<td>[[the-title]]</td>
|
||||||
<td style=""></td>
|
<td>[[priority-the-title]]</td>
|
||||||
<td style="white-space: nowrap;"><a href="[[url-the-title]]" target="_blank">[[url-the-title]]</a></td>
|
<td><a href="[[url-the-title]]" target="_blank">[[url-the-title]]</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 220px !important;">[[label-the-content]]</td>
|
<td>[[label-the-content]]</td>
|
||||||
<td style="width: 65px !important;">[[the-content]]</td>
|
<td>[[the-content]]</td>
|
||||||
<td style="">[[priority-the-content]]</td>
|
<td>[[priority-the-content]]</td>
|
||||||
<td style="white-space: nowrap;"><a href="[[url-the-content]]" target="_blank">[[url-the-content]]</a></td>
|
<td><a href="[[url-the-content]]" target="_blank">[[url-the-content]]</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 220px !important;">[[label-the-excerpt]]</td>
|
<td>[[label-the-excerpt]]</td>
|
||||||
<td style="width: 65px !important;">[[the-excerpt]]</td>
|
<td>[[the-excerpt]]</td>
|
||||||
<td style=""></td>
|
<td>[[priority-the-excerpt]]</td>
|
||||||
<td style="white-space: nowrap;"><a href="[[url-the-excerpt]]" target="_blank">[[url-the-excerpt]]</a></td>
|
<td><a href="[[url-the-excerpt]]" target="_blank">[[url-the-excerpt]]</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 220px !important;">[[label-widget-title]]</td>
|
<td>[[label-widget-title]]</td>
|
||||||
<td style="width: 65px !important;">[[widget-title]]</td>
|
<td>[[widget-title]]</td>
|
||||||
<td style=""></td>
|
<td>[[priority-widget-title]]</td>
|
||||||
<td style="white-space: nowrap;"><a href="[[url-widget-title]]" target="_blank">[[url-widget-title]]</a></td>
|
<td><a href="[[url-widget-title]]" target="_blank">[[url-widget-title]]</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width: 220px !important;">[[label-widget-text]]</td>
|
<td>[[label-widget-text]]</td>
|
||||||
<td style="width: 65px !important;">[[widget-text]]</td>
|
<td>[[widget-text]]</td>
|
||||||
<td style=""></td>
|
<td>[[priority-widget-text]]</td>
|
||||||
<td style="white-space: nowrap;"><a href="[[url-widget-text]]" target="_blank">[[url-widget-text]]</a></td>
|
<td><a href="[[url-widget-text]]" target="_blank">[[url-widget-text]]</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td
|
<td
|
||||||
class="footnote_plugin_index_combi"
|
class="footnote_plugin_index[[pointer]]"
|
||||||
|
[[event]]
|
||||||
>[[backlinks]]</td>
|
>[[backlinks]]</td>
|
||||||
<td
|
<td
|
||||||
class="footnote_plugin_text"
|
class="footnote_plugin_text"
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
jQuery('html, body').animate({
|
jQuery('html, body').animate({
|
||||||
scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.20
|
scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.20
|
||||||
},
|
},
|
||||||
380);/*speed*/
|
380);/*duration*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
Reference in a new issue