Отображение пользовательского поля после описания продукта в Woocommerce - PullRequest
0 голосов
/ 21 ноября 2018
add_action( 'woocommerce_product_description_tab', 'aq_display_disclaimer', 40, 9);

function aq_display_disclaimer() {
  echo '<b>Disclaimer:</b> ' . get_field('product_disclaimer');
}

Я пытаюсь отобразить поле WYSIWYG во внешнем интерфейсе, но по какой-то причине оно не отображается.Я также пытался использовать другие функции, такие как product_summary и до и после the_content, и он прекрасно работает.

Любая помощь будет высоко оценена.Ахмед Q.

1 Ответ

0 голосов
/ 22 ноября 2018

woocommerce_product_description_tab это не ловушка , а функция, которая запускается как обратный вызов для вкладки «Описание продукта».
Он загружает шаблон single-product/tabs/description.php, , и вы не можете использовать его , чтобы добавить отказ от ответственности.

Теперь шаблон single-product/tabs/description.php использует the_content() Wordpressфункция для отображения описания продукта, и вы можете добавить свой отказ от ответственности после него, используя the_content фильтр-хук следующим образом:

add_filter( 'the_content', 'display_disclaimer_after_product_description', 10, 1 );
function display_disclaimer_after_product_description( $content ){
    // Only for single product pages
    if( ! is_product() ) return $content;

    if( $product_disclaimer = get_field( 'product_disclaimer', get_the_id() ) )
        return $content . '<b>Disclaimer:</b> ' . $product_disclaimer;

    return $content;
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.

enter image description here


Если вы хотите заменить описание продукта этим отказом от ответственности, вы замените эту строку:

return $content . '<b>Disclaimer:</b> ' . $product_disclaimer;

по следующему:

return '<b>Disclaimer:</b> ' . $product_disclaimer;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...