Intereting Posts
Почему `inclusive` не работает в этом цикле wordpress? Неактивные файлы плагинов список пользователей – показать псевдоним Переписать пользовательский тип URL-адреса типа сообщения для моей текущей темы (собственный пользовательский) параметры меню по умолчанию отключены в wp-admin? Доступ к общим настройкам через файлы wordpress Изменить условные заголовки, чтобы включить родительский и номер страницы Как использовать wp_terms_checklist () на лицевой стороне Пользовательский запрос неправильно возвращает все Добавление элементов в wp_list_pages (внутри <li>, но до <a>) Удаление «вырванных» сообщений из почтового счета в пользовательских таксономических условиях? Существует ли шаблон-тег / функция для получения URL-адреса (или пула или имени или идентификатора) страницы блога при использовании «статической» первой страницы Что следует использовать вместо WP_CONTENT_DIR и WP_PLUGIN_DIR? Пользовательская разработка расширения платежей Woocommerce с пользовательским API Частичное обновление меню в customizer не работает?

Отображать данные, когда категория пуста

У меня есть следующий код, который вставляет данные в конец категории продукта. Он работает отлично, но он отображается только тогда, когда продукт действительно находится в категории, id, как он, для отображения в пустых категориях. Что я делаю не так ?

add_action( 'woocommerce_after_shop_loop', 'wpm_product_cat_archive_add_meta' ); function wpm_product_cat_archive_add_meta() { $t_id = get_queried_object()->term_id; $term_meta = get_option( "taxonomy_$t_id" ); $term_meta_content = $term_meta['custom_term_meta']; if ( $term_meta_content != '' ) { echo '<h2 style="text-align:center; font-weight:bold;">Local info</h2><div class="term-description"><p>'; echo apply_filters( 'the_content', $term_meta_content ); echo '</p></div>'; } } 

Вы использовали woocommerce_after_shop_loop action hook, который находится в следующем состоянии:

<?php if ( have_posts() ) : ?>

Вы должны использовать woocommerce_after_main_content для отображения ваших данных. Потому что это вне этого условия. Ваши данные будут отображаться, даже если в этой категории нет продуктов.

ОБНОВИТЬ:

Вы можете добавить условие к своей настраиваемой функции, чтобы данные отображались только в том случае, если страница является категорией.

Прочтите это о том, как использовать условия для WooCommerce:

Некоторые из них:

is_product_category ()

Возвращает true при просмотре архива категории товаров.

is_product_category ('рубашки')

Когда отображается страница категории товаров для категории «рубашки».

is_product_category (массив («рубашки», «игры»))

Когда отображается страница категории товаров для категории «рубашки» или «игры».

Таким образом, вы можете обновить свой код следующим образом:

 if ( $term_meta_content != '' && is_product_category()) { echo '<h2 style="text-align:center; font-weight:bold;">Local info</h2><div class="term-description"><p>'; echo apply_filters( 'the_content', $term_meta_content ); echo '</p></div>'; }