JSM’s Block Filter Output

FYI

  • Plugin Name: JSM's Block Filter Output
  • Stable Version: 1.1.1
  • Author: JS Morisset
  • Description: Monitor the content filter and fix incorrectly coded filter hooks (that send text to the webpage instead of returning it, as all filter hooks must).
  • License: GPLv3
  • Requires At Least: WordPress 3.7
  • Tested Up To: WordPress 4.8.2
  • Last Updated: 15 hours ago
  • Downloaded: 20 times
  • Plugin Homepage »

Monitor the content filter and fix incorrectly coded filter hooks (that send text to the webpage instead of returning it, as all filter hooks must).

Read about the issue in the official blog for the Plugin Review Team.

A notice is sent to the PHP error log when webpage output is detected:

[01-Oct-2017 01:48:28 UTC] Block Filter Output: The "ClassName::echoText" filter hook with priority 10 in the "the_content" filter has mistakenly provided some webpage output. All WordPress filter hooks must return their text - not send it to the webpage output. Please contact the author of that filter hook and report this issue as a coding error / bug. Incorrect webpage output:
-----BEGIN OUTPUT-----
<strong>Some output that should have been returned instead of echo'ed.</strong>
-----END OUTPUT-----

The plugin is fully tested and compatible with PHP v7.x (PHP v5.3 or better required).

Power-users / Developers

If you haven't enabled the WP_DEBUG constant yet, you should set the WP_DEBUG constant to true in your wp-config.php file to find out about these and any other PHP / WordPress coding errors. ;-)

The plugin only monitors the "the_content" filter by default. You can customize the list of monitored filters by defining the JSM_BFO_FILTER_NAMES constant.

You can also monitor the special WordPress "all" filter, although this is not recommended as it may have a negative effect on your site's performance:

Plugins Using the BFO Library

The WPSSO Core plugin uses the BFO library when the "Apply WordPress Content Filters" option is enabled (default) in its Advanced settings page.