Support » Plugin: footnotes » Reset Footnotes to 1

  • Resolved justbecuz

    (@justbecuz)


    Hi There,

    I am building a website that uses an accordion-style Toggle for content sections. The footnote numbering correctly restarts at 1 in each section, but in the references at the end of the toggle section, if you click on 1, it goes to the first footnote listed on the page. I was wondering if there is a way to do a code reset on each section so that this does not happen.

    Thank you in advance!

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    Thank you for reporting what happens on a page with an accordion.

    I’m wondering why the footnotes don’t keep numbering and point to a reference container at the bottom of the page.

    To help you further with this issue we’d need to know the name or handle of the Accordion Plugin you are using. I understand that we cannot see the bug online yet. Anyway let’s set up a working model, to try to fix it.

    We look forward to your information supply.

    Best regards.

    • This reply was modified 5 months ago by pewgeuges.
    • This reply was modified 5 months ago by pewgeuges.
    • This reply was modified 5 months ago by pewgeuges.
    Thread Starter justbecuz

    (@justbecuz)

    Thanks for your quick reply!

    I am using the Toggle element in Elementor. I have four different toggle sections on a page, and each has footnotes in the content. The Reference shows at the end of each Toggle which is perfect but if you click on the footnote numbers, it tracks up to the matching number in the first toggle section instead of within the active toggle.

    Hope that helps! I love everything about this plugin and think it is the best footnote plugin out of all the ones we have tried, so I would love it if we could get this resolved.

    I look forward to your response!

    Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    Thank you. Now it becomes clear that Elementor has its own way of making accordions. In a true accordion, footnotes keep numbering, and the reference container is in its place. When Elementor treats the accordion sections as pages, it must assign each section its page ID. Then Footnotes works correctly like when autoload / infinite scroll is turned on. @docteurfitness contributed support for autoload by disambiguating everything using the post IDs, whereas per your description, the page builder breaks things by mixing up accordions and pages. I guess that Footnotes is not the only plugin impacted by what I’d call a design flaw.

    May we get in touch with them to ask for more consistency?

    Or would you mind trying out an accordion plugin instead? Hopefully that would provide the same user experience.

    We’d love to be able to work around the problem, e.g. looking for section IDs in Elementor’s accordion toggle, and whether these can be grabbed somehow, just as WordPress has means to grab the post IDs. Perhaps there is a way to add support for the current implementation of Elementor’s toggle.

    For now I’m saddened that we’re currently (hopefully not forever) unable to do so. Sorry for being so unhelpful.

    Best regards,
    @pewgeuges

    • This reply was modified 5 months ago by pewgeuges. Reason: More lenient wording wrt Elementor
    Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    I’m coming back on this issue as we’re setting up a test environment.

    The ID is reset, as you report. What is needed is a complement. Lower footnotes pointing to the topmost one means that all footnotes having the same number do have the same ID. But fragment identifiers must be unique per page. Only the first one is considered, all subsequent occurrences of the same ID are ignored.

    In Footnotes, an ID looks like this with the placeholders in a template:

    
    id="footnote_plugin_reference_[‌[post_id]‌]_[‌[id]‌]"
    

    When composing in task.php, IDs are generated by code like this:

    
    $l_str_FootnoteBacklinks  = '<a id="footnote_plugin_reference_';
    $l_str_FootnoteBacklinks .= $l_int_PostId;
    $l_str_FootnoteBacklinks .= "_$l_str_FootnoteId";
    $l_str_FootnoteBacklinks .= '" class="footnote_backlink" ';
    

    The post ID is the disambiguating part. It comes from get_the_id().

    Probably Elementor has a function like get_the_section_id() that returns the ID of the current section Footnotes is running in.

    So we are checking the Elementor Pro APIS https://developers.elementor.com/elementor-pro-apis/

    Indeed we have section names and section IDs:

    
    elementor/element/{$section_name}/{$section_id}/before_section_start
    

    That is a good starting point. Now we only need to know where the section IDs can be grabbed from, and whether they barely exist, which means, Footnotes is on a page with a Toggle or anything else looking like a post or page without being actually a page from a WordPress point of view.

    Once we’re there, we’ll add a check and execute dedicated code for Elementor-Toggles. Then each footnote referrer and its backlink will become fully bijective.

    Hopefully there will be a way to find out how. Ideally we may ask at Elementor, linking to this thread.

    Best regards,
    @pewgeuges

    • This reply was modified 4 months, 4 weeks ago by pewgeuges.
    • This reply was modified 4 months, 4 weeks ago by pewgeuges.
    Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    Just found the Elementor function to get the section name: Element_Section::get_name() That could do it when adding an option or even invoke the function by default and add a check whether it exists.

    Next development version shall include support for this.

    If it fails, we’ll link all related threads, the more the better, to reach out to Elementor.

    Related: https://wordpress.org/support/topic/references-section-not-expanding-with-elementor-accordion/

    Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    An attempt to fix Footnotes in an Elementor accordion is included in our new bugfix release https://downloads.wordpress.org/plugin/footnotes.2.1.2.zip

    Footnotes now tries to use the Elementor function to get the section name:

    
    // post ID to make everything unique wrt infinite scroll and archive view
    global $l_int_PostId;
    // add support for Elementor section names:
    // Element_Section::get_name()
    // see <https://code.elementor.com/?s=section>
    if (function_exists('Element_Section::get_name')) {
        $l_int_PostId = Element_Section::get_name();
    } else {
    // work in WordPress mode:
        $l_int_PostId = get_the_id();
    }
    

    Normally, now when run in Elementor, Footnotes should work with that and disambiguate all functions using the name of the current section.

    What you may also try is to run footnotes earlier. The new priority level settings under the Expert mode tab allow to set the priority to any possible level. Based on this, you will hopefully find out the right number allowing Footnotes to run neither too late, nor too early, in case it matters. I can’t run Elementor in my browser and we had not time enough to set something up, but you may already try right now.

    Good luck! Based on your feedback, further investigations and much more, Footnotes will hopefully end up working in Elementor too.

    Plugin Author pewgeuges

    (@pewgeuges)

    Currently we have two threads about this topic. A solution has come up; please allow me to copy-paste this post:

    It depends on the theme. Sadly you need to change for another theme until it works. Twenty Twenty is a good pick with this respect.

    I’ve had the chance to test a theme that even tripled every accordion I dropped into the canvas. And messed with the footnotes the way that you’ve reported. Then I switched to Twenty Twenty, and everything worked fine. Footnotes of the entire page in a single container as intended.

    Please forget about everything else I wrote in this thread. Priority level does nothing to it. A level of 0 through 9 only prevents Footnotes from working in Elementor, I’ve become able to see (after changing my HDD for Windows 10 and installing latest Chrome; forgot that it was so easy).

    Themes are crucial. Best is to choose an Elementor-ready theme. The first item of Elementor’s FAQ is:

    **With Elementor, do I still need a theme?**

    Yes. Think of it like this: a theme is like the frame of the picture, and Elementor is the tool to paint the picture inside the frame.

    Moreover, a theme is the very canvas that you are going to paint on. If the canvas is broken, your website will be, too. That is no news, but I need to point out that even a good-looking theme may have hidden defects. These won’t matter unless a critical feature is used. I didn’t suspect that themes have the opportunity to split the reference container into multiple units in a single page, but some themes indeed are doing this, while others don’t.

    That makes choosing a theme even more complex. I’d love to fix your theme, and I hate to dismiss requests, but sadly I currently cannot do anything about it; also I see it as a rabbit hole. Best is to choose a rock-solid theme that everything will work fine in.

    Sorry for taking all that time to come up with so simple a solution.

    Plugin Author pewgeuges

    (@pewgeuges)

    I’m sorry for all the useless wording I inflicted on our users over a couple days.

    Fixing the bug only took disabling the widget_text hook in Footnotes dashboard > Expert mode > widget_text -> uncheck, save.

    That caused the dysfunctional multiple reference containers to disappear, and a single reference container to appear at the bottom, as intended with all footnotes in it.

    In Elementor, every accordion heading counts as a widget. While originally designed to populate the widget areas, widgets can be embedded in post and page content using various plugins. Hence, calling a stack of widgets an accordion, or the other way around: declaring each accordion heading a widget, was a design choice that did not disrupt.

    As a consequence, Footnotes’ upcoming bugfix release 2.1.3 has the widget_text hook disabled by default.

    A pre-release is already available at https://downloads.wordpress.org/plugin/footnotes.zip

    Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    I apologize for coming up six weeks late with a solution that now appears to me as so obvious that I feel guilty for not implementing it immediately on the day of your request. But although I lastly got the idea, saw it adding to the code and had a hard time debugging it, the result still appears to me like a Chistmas miracle. Indeed I do not understand how the plugin gets to sort things out and loop through the page, tidily appending a reference container at the bottom of each widget, i.e. in your use case, at the end of each Elementor toggle section, according to your report:

    I am using the Toggle element in Elementor. I have four different toggle sections on a page, and each has footnotes in the content. The Reference shows at the end of each Toggle which is perfect

    I actually tested it in a page with two Elementor accordions, and footnotes all over it, even before and in-between. I get six reference containers, all fully functional.

    Once our upcoming bugfix v2.2.9 is available—its release is scheduled for today; hopefully I don’t need to add specifically an Elementor toggle page in my sandbox, as that currently involves switching from Ubuntu to Windows 10 by changing the HDD of the laptop I’m using—please make sure that the widget_text hook is (re-)enabled. It’s default-disabled since v2.1.3 to meet the most common use case’s requirement where all accordion sections have a common reference container at the end of the content, although if built with Elementor, each one has widget status.

    Footnotes early supported the widget_text hook but made it optional in v1.5.5 as it didn’t follow through by addressing the implied need for multiple reference container disambiguation, without much of an issue because Elementor accordions and toggles may not have been in widespread use yet.

    What you saw is basically because Footnotes had been left unfinished. Many projects are in dire need of developers and are competing for human resources. Many plugins out there, even TOC+, need fixes, at least did I need to customize several plugins to make them meet my requirements. Footnotes is one of them, and it got me to spend the most time on it, simply because it needs it the most and offers the best efficiency ratio along with the highest usefulness in terms of ensuring WordPress’ usability, and thanks to the inspiration, ideas and social skills our plugin author and product manager is gifted with. Hopefully based on this you can understand that the solution you requested didn’t come up in time, as I was still unable to figure it out on a technical level. Compare the false positives above with what is really required: a simple counter incremented each time a reference container is inserted.

    Thank you again for your request. Happy Holidays.

    Plugin Author pewgeuges

    (@pewgeuges)

    @justbecuz

    The upcoming v2.2.9 is now in preview (as 2.2.9d2) at https://downloads.wordpress.org/plugin/footnotes.zip

Viewing 10 replies - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.