Показать все термины пользовательской таксономии?
-
-
В какой момент это не удается?Сколько из этого работает так,как вам хотелось бы?At what point does this fail? How much of it works the way you'd like?
- 0
- 2014-03-04
- s_ha_dum
-
Это работает,проблема в том,что я могу показывать только ВЫБРАННЫЕ термины в настраиваемом типе сообщения.Я хочу,чтобы все они отображались выбранными или нет,я не хочу иметь фиктивный тип сообщения,в котором все выбрано только для их отображения.It works the issue is that I can only show the SELECTED terms in a custom post type. I want all of them to show wether selected or not, I don't want to have a dummy post type that has everything selected just to show them.
- 0
- 2014-03-04
- David H
-
3 ответ
- голосов
-
- 2014-03-04
Вам необходимо передать дополнительный аргумент в
get_terms()
.По умолчанию "пустые" термины скрываются - термины,не назначенные никаким сообщениям.$terms = get_terms([ 'taxonomy' => $taxonomy, 'hide_empty' => false, ]);
You need to pass an additional argument to
get_terms()
. The default is to hide "empty" terms-- terms which are assigned to no posts.$terms = get_terms([ 'taxonomy' => $taxonomy, 'hide_empty' => false, ]);
-
Спасибо огромное!Но я хочу кое-что спросить,зачем вам создавать массив внутри переменной вместо того,чтобы объявлять его выше,где показан первый массив?Thank you so much! But I want to ask something, why would you create an array inside a variable instead of declaring it above where the first array is shown?
- 0
- 2014-03-04
- David H
-
Простота.Если бы массив аргументов был более сложным,я бы объявил его первым (скорее всего),но для одного аргумента это самый простой способ сделать это.В любом случае он должен работать одинаково хорошо.Simplicity. If the argument array were more complex I would have declared it first (most likely), but for a single argument that is just the most straightforward way to do it. It should work equally well either way.
- 0
- 2014-03-04
- s_ha_dum
-
Большое спасибо :),что очень меня подумал.Я очень ценю это!Thanks a lot :) that thought me a lot. I really appreciate it!
- 0
- 2014-03-04
- David H
-
Работает!!Теперь я могу видеть,что происходит со всеми вариантами таксономии!Некоторые плагины создают там сложную структуру.Works!! Now I can see what's going on with all the taxonomy options! Some plugins create complex structure in there.
- 0
- 2018-06-22
- eyal_katz
-
- 2017-07-21
Начиная с 4.5.0,таксономии должны передаваться через аргумент «taxonomy» в массиве $ args,поэтому:
$terms = get_terms( array( 'taxonomy' => 'post_tag', 'hide_empty' => false, ) );
где термины,не имеющие сообщений,по умолчанию скрыты.
Since 4.5.0, taxonomies should be passed via the ‘taxonomy’ argument in the $args array so:
$terms = get_terms( array( 'taxonomy' => 'post_tag', 'hide_empty' => false, ) );
where terms that have no posts are hidden by default.
-
- 2017-02-14
Этот код извлекает все настраиваемые таксономии категорий и подкатегорий с помощью
get_terms()
:<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'parent' =>0)); foreach($wcatTerms as $wcatTerm) : ?> <ul> <li> <a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a> <ul class="megaSubCat"> <?php $wsubargs = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $wcatTerm->term_id, 'taxonomy' => 'product_cat' ); $wsubcats = get_categories($wsubargs); foreach ($wsubcats as $wsc): ?> <li><a href="<?php echo get_term_link( $wsc->slug, $wsc->taxonomy );?>"><?php echo $wsc->name;?></a></li> <?php endforeach; ?> </ul> </li> </ul> <?php endforeach; ?>
This code is fetches all category and subcategory custom taxonomies using
get_terms()
:<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'parent' =>0)); foreach($wcatTerms as $wcatTerm) : ?> <ul> <li> <a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a> <ul class="megaSubCat"> <?php $wsubargs = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $wcatTerm->term_id, 'taxonomy' => 'product_cat' ); $wsubcats = get_categories($wsubargs); foreach ($wsubcats as $wsc): ?> <li><a href="<?php echo get_term_link( $wsc->slug, $wsc->taxonomy );?>"><?php echo $wsc->name;?></a></li> <?php endforeach; ?> </ul> </li> </ul> <?php endforeach; ?>
Я создал несколько настраиваемых таксономий,и мне нужно показать ВСЕ термины из них. До сих пор мне удалось показать таксономии,которые выбраны/выбраны в настраиваемом типе сообщений,но мне нужно,чтобы все они отображались,если это выбран или нет. Чтобы позже я мог создать фильтр,который фильтрует,в соответствии с какими условиями содержится значение произвольного типа сообщения.
То,что у меня есть.
Заранее спасибо!