<?php namespace Yoast\WP\SEO\Integrations\Third_Party; use WP_Post; 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. * * @return void */ 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'] = ''; } return $values; } }