您可能还会问:如何使用WordPress自定义字段触发/定义WooCommerce动作/功能?
使用WooCommerce和Wordpress,我完成了一个系统,可以删除产品元数据,但只能在某些产品页面上使用,我需要使用wordpress自定义字段定义哪些页面要隐藏其产品元数据。 我要调用的自定义字段名称:“ hide_product_meta”和定义的值必须为“ 1”或“ 0”(是或否)。
我首先尝试创建一个过滤器来做。此后,我编辑了这篇文章,以包括以下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');
谢谢。
答案 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');