-
Notifications
You must be signed in to change notification settings - Fork 953
Description
- I've read and understood the contribution guidelines.
- I've searched for any related issues and avoided creating a duplicate issue.
Possibly related to Shouldn't run do_shortcode on category descriptions on admin list #8262 or Fatal error when saving a post with WooCommerce [shop_messages] shortcode #8101 but I am not sure.
Opening bug per suggestion on plugin forum thread here.
Please give us a description of what happened.
Recently, there has been an incompatibility related to a new version of Yoast SEO. We use the Simmer plugin which hasn’t been updated in nearly two years (other than a readme update). However, a recent version of Yoast SEO (within the last few months) started triggering PHP errors when generating its shortcode. When I deactivate the Yoast SEO plugin, things work as expected again. Below are three sample errors from my nginx error logs that demonstrate the issue.
Any ideas on how to resolve? I recognize that this could be a bug in the Simmer plugin, but I need to know what changed in Yoast SEO that caused the breakage to occur if that is the case. Thanks!
2017/11/25 09:42:45 [error] 1967#1967: *198 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function simmer_get_template_part() in /var/www/jennythebaker/wp-content/plugins/simmer/core/recipes/class-simmer-recipe-shortcode.php:101
Stack trace:
#0 /var/www/jennythebaker/wp-includes/shortcodes.php(319): Simmer_Recipe_Shortcode->display_shortcode(Array, '', 'recipe')
#1 [internal function]: do_shortcode_tag(Array)
#2 /var/www/jennythebaker/wp-includes/shortcodes.php(197): preg_replace_callback('/\\[(\\[?)(recipe...', 'do_shortcode_ta...', '[recipe id="120...')
#3 /var/www/jennythebaker/wp-content/plugins/wordpress-seo/admin/ajax/class-shortcode-filter.php(33): do_shortcode('[recipe id="120...')
#4 /var/www/jennythebaker/wp-includes/class-wp-hook.php(286): WPSEO_Shortcode_Filter->do_filter('')
#5 /var/www/jennythebaker/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#6 /var/www/jennythebaker/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#7 /var/www/jennythebaker/wp-admin/admin-ajax.php(97): do_action('wp_" while reading response header from upstream, client: 67.202.83.124, server: jennythebaker.com, request: "POST /wp-admin/admin-ajax.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "jennythebaker.com"
2017/11/25 09:43:19 [error] 1967#1967: *217 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function simmer_get_template_part() in /var/www/jennythebaker/wp-content/plugins/simmer/core/recipes/class-simmer-recipe-shortcode.php:101
Stack trace:
#0 /var/www/jennythebaker/wp-includes/shortcodes.php(319): Simmer_Recipe_Shortcode->display_shortcode(Array, '', 'recipe')
#1 [internal function]: do_shortcode_tag(Array)
#2 /var/www/jennythebaker/wp-includes/shortcodes.php(197): preg_replace_callback('/\\[(\\[?)(recipe...', 'do_shortcode_ta...', '[recipe id="120...')
#3 /var/www/jennythebaker/wp-content/plugins/wordpress-seo/admin/ajax/class-shortcode-filter.php(33): do_shortcode('[recipe id="120...')
#4 /var/www/jennythebaker/wp-includes/class-wp-hook.php(286): WPSEO_Shortcode_Filter->do_filter('')
#5 /var/www/jennythebaker/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#6 /var/www/jennythebaker/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#7 /var/www/jennythebaker/wp-admin/admin-ajax.php(97): do_action('wp_" while reading response header from upstream, client: 67.202.83.124, server: jennythebaker.com, request: "POST /wp-admin/admin-ajax.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "jennythebaker.com"
2017/11/25 09:43:19 [error] 1967#1967: *215 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function simmer_get_template_part() in /var/www/jennythebaker/wp-content/plugins/simmer/core/recipes/class-simmer-recipe-shortcode.php:101
Stack trace:
#0 /var/www/jennythebaker/wp-includes/shortcodes.php(319): Simmer_Recipe_Shortcode->display_shortcode(Array, '', 'recipe')
#1 [internal function]: do_shortcode_tag(Array)
#2 /var/www/jennythebaker/wp-includes/shortcodes.php(197): preg_replace_callback('/\\[(\\[?)(recipe...', 'do_shortcode_ta...', '<p>Note to self...')
#3 /var/www/jennythebaker/wp-includes/class-wp-hook.php(286): do_shortcode('<p>Note to self...')
#4 /var/www/jennythebaker/wp-includes/plugin.php(203): WP_Hook->apply_filters('<p>Note to self...', Array)
#5 /var/www/jennythebaker/wp-content/plugins/wordpress-seo/admin/links/class-link-watcher.php(107): apply_filters('the_content', 'Note to self: B...')
#6 /var/www/jennythebaker/wp-content/plugins/wordpress-seo/admin/links/class-link-watcher.php(56): WPSEO_Link_Watcher->process(1" while reading response header from upstream, client: 67.202.83.124, server: jennythebaker.com, request: "POST /wp-admin/post.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "jennythebaker.com"
Please describe what you expected to happen and why.
I expect to be able to save draft or publish posts including a Simmer recipe shortcode when WordPress SEO is enabled. (Rather than seeing white screen and errors like above in logs.)
How can we reproduce this behavior?
- Install and activate WordPress SEO plugin.
- Install and activate Simmer plugin.
- Create a Simmer recipe.
- Create a new WordPress post and include the shortcode to the Simmer recipe in step 3.
- Click "Save Draft" or "Publish".
Technical info
- WordPress version: 4.9.1
- Yoast SEO version: 5.9.3
- Relevant plugins in case of a bug: Simmer 1.3.11