Скрыть метаданные продукта WooCommerce (SKU, категории, теги) для определенных страниц с помощью пользовательских полей Wordpress - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь создать систему, в которой я могу скрыть мета-информацию продукта только на определенных страницах продукта, и мне нужно определить, на каких страницах должна быть скрыта мета-информация продукта, с помощью пользовательских полей WordPress. Имя настраиваемого поля, которое я хочу назвать: 'hide_product_meta' и определяющие значения должны быть либо "да", либо "нет".

Комубыть скрытым:

enter image description here

Я пытался создать фильтр, чтобы сделать это, но я не очень хорош в PHP и этокод не работает:

add_filter( 'woocommerce_template_single_meta', 'hide_product_page_meta' ); 
function hide_product_page_meta( $enabled ) {
    global $post;
    $product_id = $post->ID;

    $HideProductMetaValue =  get_post_meta($product_id,'hide_product_meta',"yes");
    if (!$HideProductMetaValue) return "no" false;
    }

    return $enabled;
}

Где я ошибаюсь?

Ответы [ 2 ]

1 голос
/ 11 ноября 2019

С помощью Лакшмана Раджпута мне удалось заставить его работать, используя следующий код, но вместо того, чтобы определять действие с помощью «да» или «нет», я могу определить его с помощью «1», например:

add_filter( 'init', 'hide_product_page_meta', 99 ); 
    function hide_product_page_meta( $enabled ) {
        global $post;
        $product_id = $post->ID;

        $HideProductMetaValue =  get_post_meta($product_id,'hide_product_meta',true);
        if ($HideProductMetaValue = '1') {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );

        }
    }
1 голос
/ 11 ноября 2019

Вы можете удалить с помощью крючка, как это.

  add_filter( 'init', 'hide_product_page_meta', 99 ); 
    function hide_product_page_meta( $enabled ) {
        global $post;
        $product_id = $post->ID;

        $HideProductMetaValue =  get_post_meta($product_id,'hide_product_meta',true);
        if ($HideProductMetaValue  = '1') {
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...