Intereting Posts
Как вручную активировать пользователя на панели управления только администратором Получать пользовательские поля типа сообщения в цикле while как переменные Как сделать страницу моего архива похожим на популярные сайты для просмотра (например, Polygon и Gamespot) Shortcode в тот же короткий код Является ли WordPress 3.3.1 совместимым с PHP версии 5.2.17? Как просмотреть страницы с эскизами, добавив класс «текущий элемент» Пользовательский отклик плагина контроллера WordPress Rest API Как создать пользовательскую категорию wordpress admin Добавление скрипта jquery в контактную форму плагина 7 Изменить URL-адрес поискового модуля Template Tag "template_directory" потянув неправильный путь Отключить блок с таксономиями на странице Как подойти к показу продуктов без плагина корзины покупок или типа публикации? Новый термин таксономия и описание на первой странице. Ввод – х Я хочу создать PDF-файл и сохранить его в библиотеке?

get_terms () не возвращает пустые слова, хотя hide_empty false

Я не могу заставить get_terms() возвращать пустые термины, и я пробовал его несколькими способами.

Вот код:

 $terms = get_terms('device',array('hide_empty' => 0)); foreach($terms as $term) { if($term->parent == 0) { if($i++ != 0) echo '</optgroup>'; echo '<optgroup label="'.$term->name.'">'; $id = $term->term_id; $args = array("child_of"=>$id); $this_term = get_terms('device',$args); foreach($this_term as $the_term) { $term_name = str_replace($term->name,'',$the_term->name); echo '<option value="'.$the_term->term_id.'">'.$the_term->name.'</option>'; } } } 

Я пробовал все возможные способы:

 $terms = get_terms('device',array('hide_empty' => false)) $terms = get_terms('device',array('hide_empty' => 0)) $terms = get_terms('device',array('hide_empty=false')) $terms = get_terms('device',array('hide_empty=0')) 

Также пробовал два последних пути без array . Кажется, что ничего не работает. Он возвращает все термины, содержащие сообщения, но не пустые.

Solutions Collecting From Web of "get_terms () не возвращает пустые слова, хотя hide_empty false"

Вы используете аргумент hide_empty для $terms , но не для $this_term внутри вашего цикла.

Кроме того, с тем, как вы создаете свой выбор, было бы гораздо более эффективно просто запросить термины верхнего уровня для основного цикла:

 $terms = get_terms( 'device', array( 'hide_empty' => false, 'parent' => 0 ) ); 

И затем отбросьте if($term->parent == 0) {... внутри вашего цикла.

Я нашел проблему.

Я использую get_terms() дважды, один раз для родителей и один раз для детей. Похоже, я не добавил hide_empty=false в тот, который получает детей.