Skip to content

Roll back dynamically appended source statement changes #1136

@boonebgorges

Description

@boonebgorges

In PF 5.3.0, we introduced dynamically appended source statements. See #1091.

The reasoning was that it should be easier to remove or modify the content, behavior, and appearance of the source statement. But a few vocal users have been very unhappy with the change. Some reasons:

  1. Diminished user experience due to the presence of an extra metabox.
  2. When the source statement is appended dynamically by PF, it will no longer be present if PF is ever deactivated.
  3. PF's method for appending the source statement doesn't work well with certain other plugins. See Dynamically appended Source statement not recognized as outgoing link by Yoast SEO #1134.
  4. PF's method for appending the source statement can work in strange way on custom templates that use the_content() in non-standard ways. I discovered this on a client site and tried to fix it with calls to is_main_query() and is_singular(), but these each pose various sorts of problems.
  5. Dynamic appending to the_content causes problems with post pagination and the <!-- more --> tag. See Dynamically appended Source should respect 'more' tag #1132.
  6. In cases where Posts is used as the destination post_type for PF items, and is also used for the manual creation of post content, you end up with weird behavior. See https://wordpress.org/support/topic/version-5-3-0-is-incorrectly-adding-source-links/#post-16412158

I'm not hugely sympathetic to 1. Items 3-5 are all annoying and it will likely take a good deal of trial and error to fix them in a satisfactory way. I find 2 to be the most compelling, since there's no real workaround aside from an uninstall routine, which poses its own problems.

As such, I've decided I'll pull it out and go back to the previous method of appending 'Source: ...' to post_content. This will mean I need a small migration routine for items that have been posted to PF since 5.3.0 and so do not have the Source statement in post_content.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions