Функция WordPress get_terms () не отображает пользовательские категории таксономии для woocommerce - PullRequest
0 голосов
/ 22 января 2020

Следующий код, который я написал, должен показать все категории продуктов на сайте электронной коммерции WordPress.

<?php $categories = get_terms( 
  array(
   'taxonomy' => 'product_cat',
   'hide_empty' => 'false',
   'numberposts' => -1)
  );
?>
<?php var_dump($categories); ?>
<?php foreach( $categories as $category ): ?>
 <h4 class="shop-category-name d-inline"><?php echo $category->name; ?></h4>
<?php endforeach; ?>

Я использую его внутри ловушки woocommerce, которая отвечает за отображение содержимого перед главной страницей магазина, woocommerce_before_main_content. Я не могу получить категории, я вижу только одну категорию, а другие не перечислены. Я не уверен в этом, но, может быть, это может быть связано с тем, что я использую функцию внутри хука woocommerce? У меня была похожая проблема с изображением на странице магазина, но я не смог его отобразить из-за этой мотивации, и я изменил код для использования wc_get_page_ID('pag name').

Есть ли исправление?

1 Ответ

0 голосов
/ 22 января 2020

Попробуйте использовать это в функции, которую вы использовали для ловли woocommerce woocommerce_before_main_content

add_action( 'woocommerce_before_main_content', 'woo_cats', 20, 0 );
function woo_cats(){
 $cat_args = array(
    'orderby'    => 'name',
    'order'      => 'asc',
    'hide_empty' => false,
);

$product_categories = get_terms( 'product_cat', $cat_args );

 if( !empty($product_categories) ){
    echo '<ul>';
    foreach ($product_categories as $key => $category) {
        echo '<li>';
        echo '<a href="'.get_term_link($category).'" >';
        echo $category->name;
        echo '</a>';
        echo '</li>';
    }
    echo '</ul>';
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...