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

时间:2019-11-10 21:46:13

标签: php wordpress woocommerce custom-fields

您可能还会问:如何使用WordPress自定义字段触发/定义WooCommerce动作/功能?

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

要隐藏:

enter image description here

我首先尝试创建一个过滤器来做。此后,我编辑了这篇文章,以包括以下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');

谢谢。

1 个答案:

答案 0 :(得分:1)

在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');
相关问题