добавление настраиваемого поля на страницу продукта (только для определенного идентификатора продукта) - PullRequest
0 голосов
/ 23 сентября 2018

Мне нужно добавить настраиваемую вкладку на странице продукта, но я хочу, чтобы она отображалась только для некоторых идентификаторов продукта.

Вот мой код для добавления настраиваемой вкладки в интерфейс.

add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
    $tabs['desc_tab'] = array(
        'title'     => __( 'Additional Information', 'woocommerce' ),
        'priority'  => 50,
        'callback'  => 'woo_new_product_tab_content'
    );

    return $tabs;
}

, а затем я должен добавить функцию ниже для отображения содержимого.

function woo_new_product_tab_content() {
    echo '<p>some text</p>';
}

, но теперь эти функции работают для всех идентификаторов продуктов.Я хочу загрузить эти две функции только для некоторого идентификатора продукта, может ли кто-нибудь мне помочь?

Я устал добавлять if(is_product() && get_the_id() == 8) в обе функции, но $tabs не отображается на странице идентификаторов других продуктов (в идентификаторе продукта"8" $tabs работал хорошо)

1 Ответ

0 голосов
/ 23 сентября 2018

проблема этого кода не сводилась к тому, чтобы забыть return $tabs

if(is_product()) {
//if(is_product())) {
return $tabs;
}
return $tabs;
}

, поэтому окончательный код может быть таким:

function woo_new_product_tab( $tabs ) {
if(condition) {
$tabs['desc_tab'] = array(
    'title'     => __( 'Additional Information', 'woocommerce' ),
    'priority'  => 50,
    'callback'  => 'woo_new_product_tab_content'
);
return $tabs;
}
return $tabs;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...