Intereting Posts
Каковы наилучшие методы для поддержки и развертывания нескольких родительских тем? WordPress не видит символическую тему в Ubuntu Можно ли использовать WP_USER_QUERY для поиска по имени пользователя с помощью шаблона? Объяснение функции apply_filters и его переменных Как проверить пароль вне WordPress? wp_insert_user – как отправить подтверждение электронной почты перед входом в систему Проблема сжатия WordPress PNG Кому отправляются электронные письма через форму комментариев WordPress? Не существующие страницы блога не перенаправлены на 404 Где столбцы типа post хранятся в базе данных? Как обнаружить пользовательский запрос внутри `posts_where` hook? iframe не отображается в сообщении (с включенным плагином «Разрешить php в сообщениях») Шаблон страницы без заголовка и нижнего колонтитула Как реализовать пользовательские поля без использования каких-либо плагинов? Получение подкатегории

Категория отображения миниатюр и ссылок в Woo commerce

Я хотел бы показывать свои категории с миниатюрами в woocommerce. Я могу перечислить дочерние термины как ссылку, но я хотел бы добавить дополнительный контент. Я добавил код ниже, в котором я использую для отображения дочерних терминов для «product_cat» в качестве ссылки на моем шаблоне home-page.php. Но я также хотел бы добавить изображение категории. Я бы очень признателен за помощь СПАСИБО.

<?php $taxonomyName = "product_cat"; //This gets top layer terms only. This is done by setting parent to 0. $parent_terms = get_terms($taxonomyName, array('parent' => 0, 'orderby' => 'slug', 'hide_empty' => false)); echo '<ul>'; foreach ($parent_terms as $pterm) { //Get the Child terms $terms = get_terms($taxonomyName, array('parent' => $pterm->term_id, 'orderby' => 'slug', 'hide_empty' => false)); foreach ($terms as $term) { echo '<li><a href="' . get_term_link( $term->name, $taxonomyName ) . '">' . $term->name . '</a></li>'; } } echo '</ul>'; ?> 

Solutions Collecting From Web of "Категория отображения миниатюр и ссылок в Woo commerce"

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

  $taxonomyName = "product_cat"; //This gets top layer terms only. This is done by setting parent to 0. $parent_terms = get_terms($taxonomyName, array('parent' => 0, 'orderby' => 'slug', 'hide_empty' => false)); echo '<ul>'; foreach ($parent_terms as $pterm) { //show parent categories echo '<li><a href="' . get_term_link($pterm->name, $taxonomyName) . '">' . $pterm->name . '</a></li>'; $thumbnail_id = get_woocommerce_term_meta($pterm->term_id, 'thumbnail_id', true); // get the image URL for parent category $image = wp_get_attachment_url($thumbnail_id); // print the IMG HTML for parent category echo "<img src='{$image}' alt='' width='400' height='400' />"; //Get the Child terms $terms = get_terms($taxonomyName, array('parent' => $pterm->term_id, 'orderby' => 'slug', 'hide_empty' => false)); foreach ($terms as $term) { echo '<li><a href="' . get_term_link($term->name, $taxonomyName) . '">' . $term->name . '</a></li>'; $thumbnail_id = get_woocommerce_term_meta($pterm->term_id, 'thumbnail_id', true); // get the image URL for child category $image = wp_get_attachment_url($thumbnail_id); // print the IMG HTML for child category echo "<img src='{$image}' alt='' width='400' height='400' />"; } } echo '</ul>'; 

Дайте мне знать, выполнит ли оно ваше требование.

Привет @Wisdmlabs Спасибо за помощь. Я нашел, что это очень хорошо работает, если кто-то еще задается вопросом, как это сделать.

 $taxonomyName = "product_cat"; $prod_categories = get_terms($taxonomyName, array( 'orderby'=> 'name', 'order' => 'ASC', 'hide_empty' => 1 )); foreach( $prod_categories as $prod_cat ) : if ( $prod_cat->parent != 0 ) continue; $cat_thumb_id = get_woocommerce_term_meta( $prod_cat->term_id, 'thumbnail_id', true ); $cat_thumb_url = wp_get_attachment_thumb_url( $cat_thumb_id ); $term_link = get_term_link( $prod_cat, 'product_cat' ); ?> <img src="<?php echo $cat_thumb_url; ?>" alt="" /> <a class="button" href="<?php echo $term_link; ?>"> <?php echo $prod_cat->name; ?> </a> <?php endforeach; wp_reset_query(); ?> 

Чтобы дополнительно оптимизировать ответ @ Wisdmlabs выше, замените эту строку

 $cat_thumb_url = wp_get_attachment_thumb_url( $cat_thumb_id ); 

с

 $cat_thumb_url = wp_get_attachment_image_src( $cat_thumb_id, 'thumbnail-size' )[0]; // Change to desired 'thumbnail-size' 

Таким образом, изображения обрезаются до подходящего размера на сервере для уменьшения загрузки полосы.