: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace Yoast\WP\SEO\Integrations\Third_Party;
use Yoast\WP\SEO\Conditionals\Admin\Post_Conditional;
use Yoast\WP\SEO\Conditionals\WooCommerce_Conditional;
use Yoast\WP\SEO\Integrations\Integration_Interface;
* A WooCommerce integration that runs in the post editor.
class WooCommerce_Post_Edit implements Integration_Interface {
* Register the hooks for this integration to work.
public function register_hooks() {
\add_filter( 'wpseo_post_edit_values', [ $this, 'remove_meta_description_date' ], 10, 2 );
* Only run this integration when WooCommerce is active and the user is in the post editor.
* @return string[] The conditionals that should be met before this integration is loaded.
public static function get_conditionals() {
return [ WooCommerce_Conditional::class, Post_Conditional::class ];
* Don't show the date in the Google preview for WooCommerce products,
* since Google does not show dates for product pages in the search results.
* @param array $values Key-value map of variables we enqueue in the JavaScript of the post editor.
* @param WP_Post $post The post currently opened in the editor.
* @return array The values, where the `metaDescriptionDate` is set to the empty string.
public function remove_meta_description_date( $values, $post ) {
if ( $post->post_type === 'product' ) {
$values['metaDescriptionDate'] = '';