Intereting Posts
Плагины JQuery в WordPress Шаблон загрузки загрузок через ajax привет, я не могу понять, как выводить динамически генерируемые поля ввода на страницу WordPress на лицевой стороне flush_rewrite_rules ломает постоянные ссылки Как WordPress определяет, какой многоуровневый пользователь включен в URL? Разрешить включение плагина только на корневом сайте мультисайта Уведомление в режиме реального времени о профиле пользователя после нового комментария Почему я не могу добавить пользовательский образ в свою навигацию? Импортируйте CSV в PMA и выведите его в виде диаграммы в пользовательский виджет Изменить ссылку «Читать дальше», добавив новый класс Создайте роль под-администратора, которая может делать все, кроме использования, или увидеть редактор кода Защита паролем пользовательского шаблона Измените образ WordPress по умолчанию на вкладке панели управления на пользовательский образ stats_get_csv (статистика WordPress), чтобы отображать только верхние сообщения (а не страницы) Admin: глобальный $ post empty

Создайте шаблон пользовательской таксономии, который будет проходить через дочерние категории в порядке окончания?

Мы строим сайт, который продает Biking Gear

Мы используем Genesis Theme Framework и разрабатываем пользовательскую дочернюю тему.

Он имеет настраиваемый тип отправки для продуктов, созданный с помощью «Custom Post Type UI Plugin».

Он также имеет пользовательскую таксономию для категорий продуктов, мы создали шаблон для архива taxonomy-products-category.php пользовательского типа: taxonomy-products-category.php

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

Например, /product-categories/cycling/ необходимо зацикливать на дочерние категории 'Cycling' в том порядке, в котором мы их установили (term_order, я думаю)

Кроме того, если это дочерняя категория, как показано в меню слева, шаблон просто проходит через эту категорию, поэтому, если пользователь нажимает «циклический», шаблон отображает все записи в категории циклирования, сгруппированные по подгруппе, (трикотажные изделия, шорты, жилеты …) и выводит заголовок архива над каждым,

Я не понимаю, как это сделать, я пробовал объединить несколько фрагментов, которые привели к неудаче, и я обращаюсь к сообществу за советом.

Solutions Collecting From Web of "Создайте шаблон пользовательской таксономии, который будет проходить через дочерние категории в порядке окончания?"

Вот что мы придумали до сих пор, и есть определенная возможность для улучшения.

remove_action( 'genesis_loop', 'genesis_do_loop' ); add_action( 'genesis_loop', 'ahso_custom_taxonomy_archive_loop' ); function ahso_custom_taxonomy_archive_loop() { global $wp_query; // globalize it. // get category ID $cat_id = $wp_query->get_queried_object_id(); // get current category // get all child categories $cat_args = array( 'type' => 'products', 'child_of' => $cat_id, //'parent' => '', 'orderby' => 'term_group', 'order' => 'ASC', 'hide_empty' => 0, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'product-categories', 'pad_counts' => false ); // get all children of the current category $categories = get_categories( $cat_args ); // if the cat has kittens, loop thru them in term order if ( !empty($categories) ) { foreach ($categories as $category) { // first output the category archive headline // gets the term table w/ the meta info added by genesis that contains the archive headline and intro text $term = get_term_by( 'id', $category->term_id, $category->taxonomy ); echo ''; echo ''.$term->meta["headline"].''; echo ''; // then build a query to loop thru the posts in that cat // WP_Query arguments $args = array ( 'post_type' => 'products', 'order' => 'ASC', 'orderby' => 'menu_order', 'tax_query' => array( array( 'taxonomy' => 'product-categories', 'field' => 'id', 'terms' => $category->term_id, 'include_children' => false, // no kittens ) ) ); // loop thru posts in category // output featured image // The Query $cat_query = new WP_Query( $args ); // The Loop if ( $cat_query->have_posts() ) { while ( $cat_query->have_posts() ) { $cat_query->the_post(); // do something echo ''; echo ''; echo the_post_thumbnail('medium'); echo ''; echo ''.get_the_title().''; echo ''; } } else { // no posts found } // Restore original Post Data wp_reset_postdata(); } } // end category children loop // if the category has no children, just run a loop thru that category. // get_categories returns an empty array if ( empty($categories) ) { //echo 'this cat has no kittens'; // WP_Query arguments $args = array ( 'post_type' => 'products', 'order' => 'ASC', 'orderby' => 'menu_order', 'tax_query' => array( array( 'taxonomy' => 'product-categories', 'field' => 'id', 'terms' => $cat_id, // get the initial $cat_id, from the query object 'include_children' => false, // pls spay and neutr yrs pets ) ) ); // The Query $cat_query = new WP_Query( $args ); // The Loop if ( $cat_query->have_posts() ) { while ( $cat_query->have_posts() ) { $cat_query->the_post(); // do something echo ''; echo ''; echo the_post_thumbnail('medium'); echo ''; echo ''.get_the_title().''; echo ''; } } else { // no posts found } // Restore original Post Data wp_reset_postdata(); } // end no children category loop }
remove_action( 'genesis_loop', 'genesis_do_loop' ); add_action( 'genesis_loop', 'ahso_custom_taxonomy_archive_loop' ); function ahso_custom_taxonomy_archive_loop() { global $wp_query; // globalize it. // get category ID $cat_id = $wp_query->get_queried_object_id(); // get current category // get all child categories $cat_args = array( 'type' => 'products', 'child_of' => $cat_id, //'parent' => '', 'orderby' => 'term_group', 'order' => 'ASC', 'hide_empty' => 0, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'product-categories', 'pad_counts' => false ); // get all children of the current category $categories = get_categories( $cat_args ); // if the cat has kittens, loop thru them in term order if ( !empty($categories) ) { foreach ($categories as $category) { // first output the category archive headline // gets the term table w/ the meta info added by genesis that contains the archive headline and intro text $term = get_term_by( 'id', $category->term_id, $category->taxonomy ); echo ''; echo ''.$term->meta["headline"].''; echo ''; // then build a query to loop thru the posts in that cat // WP_Query arguments $args = array ( 'post_type' => 'products', 'order' => 'ASC', 'orderby' => 'menu_order', 'tax_query' => array( array( 'taxonomy' => 'product-categories', 'field' => 'id', 'terms' => $category->term_id, 'include_children' => false, // no kittens ) ) ); // loop thru posts in category // output featured image // The Query $cat_query = new WP_Query( $args ); // The Loop if ( $cat_query->have_posts() ) { while ( $cat_query->have_posts() ) { $cat_query->the_post(); // do something echo ''; echo ''; echo the_post_thumbnail('medium'); echo ''; echo ''.get_the_title().''; echo ''; } } else { // no posts found } // Restore original Post Data wp_reset_postdata(); } } // end category children loop // if the category has no children, just run a loop thru that category. // get_categories returns an empty array if ( empty($categories) ) { //echo 'this cat has no kittens'; // WP_Query arguments $args = array ( 'post_type' => 'products', 'order' => 'ASC', 'orderby' => 'menu_order', 'tax_query' => array( array( 'taxonomy' => 'product-categories', 'field' => 'id', 'terms' => $cat_id, // get the initial $cat_id, from the query object 'include_children' => false, // pls spay and neutr yrs pets ) ) ); // The Query $cat_query = new WP_Query( $args ); // The Loop if ( $cat_query->have_posts() ) { while ( $cat_query->have_posts() ) { $cat_query->the_post(); // do something echo ''; echo ''; echo the_post_thumbnail('medium'); echo ''; echo ''.get_the_title().''; echo ''; } } else { // no posts found } // Restore original Post Data wp_reset_postdata(); } // end no children category loop } 

Если у вас есть идеи, сообщите нам об этом. Обратная связь всегда приветствуется.