使用 Wordpress 自定义字段为特定页面隐藏 WooCommerce 产品元数据(SKU、类别、标签)

Hide WooCommerce Product Meta (SKU, Categories, Tags) For Specific Pages Using Wordpress Custom Fields

您可能还会问:如何使用 WordPress 自定义字段 trigger/define WooCommerce action/function?

使用 WooCommerce 和 Wordpress,我已经完成了一个系统,我可以删除产品元数据,但只能在某些产品页面上删除,我需要定义哪些页面要使用 wordpress 自定义字段隐藏其产品元数据。 我要调用的自定义字段名称: 'hide_product_meta' 和定义 values 需要为“1”或“0”是或否。

待隐藏:

我首先尝试创建一个过滤器来完成它。此后,我编辑了这个 post 以包含 lakshman rajput 在下面评论的建议。

此代码隐藏了页面上的产品元数据,该页面带有一个名为 'hide_product_meta' 的预先创建的自定义字段,您可以手动添加该自定义字段。在自定义字段中定义“1”以触发代码,或定义其他任何内容以将其关闭:

/* WooCommerce hide product page meta - hide_product_meta */
function hide_product_page_meta() {
        global $post;
        $product_id = $post->ID;
        $HideProductMetaValue =  get_post_meta($product_id,'hide_product_meta',true);
        if (strpos($HideProductMetaValue, '1') !== false) {
        return remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
        remove_action( 'woocommerce_after_single_product_summary', 'action_woocommerce_after_single_product_summary', 10, 2 );
        }
}       
add_action('woocommerce_single_product_summary','hide_product_page_meta');

谢谢。

在 lakshman rajput 的帮助下,我设法使用以下代码让它工作,但我可以用“1”定义它,而不是使用 'yes' 或 'no' 定义操作,像这样:

/* WooCommerce hide product page meta - hide_product_meta */
function hide_product_page_meta() {
        global $post;
        $product_id = $post->ID;
        $HideProductMetaValue =  get_post_meta($product_id,'hide_product_meta',true);
        if (strpos($HideProductMetaValue, '1') !== false) {
        return remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
        remove_action( 'woocommerce_after_single_product_summary', 'action_woocommerce_after_single_product_summary', 10, 2 );
        }
}       
add_action('woocommerce_single_product_summary','hide_product_page_meta');