Как перечислить все элементы в настраиваемой таксономии с постоянной ссылкой в ​​WordPress

Не знаю, как это сказать. Я установил в WordPress собственный тип записи под названием Products. У меня также есть две таксономии, связанные с Products, называемые Brands и Categories. При создании продукта вы можете указать, к какому Brand и Category принадлежит продукт. Он отлично работает при использовании типа в качестве постоянной ссылки для перечисления всего в типе.

http://sitename.com/products

но я не могу заставить таксономии работать таким же образом, т.е. перечислить все элементы в таксономии (я полагаю, как архив):

http://sitename.com/brands

http://sitename.com/categories

Возможно ли это, и если да, то что я делаю не так? Я бы попытался установить некоторые правила перезаписи в functions.php, но я не знаю, как выглядит строка запроса, если вы хотите перечислить элементы в таксономии, и возможно ли это вообще. Если это поможет, я использую плагины More Types и Ultimate Taxonomy Manager для создания типов и таксономий.


person Constant Meiring    schedule 09.01.2011    source источник


Ответы (5)


На самом деле пока нет способа сделать это. WP движется в этом направлении и в версии 3.1 устанавливает верхний уровень для пользовательских типов сообщений, но по-прежнему ничего для таксономий. Это глупо, но я добавил страницу с названием page-products.php, а затем поместил туда свой список.

$toplevelterms = get_terms($taxonomyname, 'hide_empty=0&hierarchical=0&parent=0');
$termchildren = array();
foreach ($toplevelterms as $toplevelterm) {
    $termchildren[] = $toplevelterm->term_id;
}
foreach ($termchildren as $child) {
    $term = get_term_by('id', $child, $taxonomyname);
    $write .= '<li>';
    $write .= '<a href="' . get_term_link($term->name, $taxonomyname) . '">' . $term->name . '</a>';
    if ($term->description) $write .= apply_filters('the_content', $term->description);
    $write .= '</li>';
}
if ($write) echo '<ul class="clearfix">' . $write . '</ul>';
person David    schedule 04.02.2011

К вашему сведению, правильная ссылка для этого плагина (я автор) теперь http://www.get10up.com/plugins/simple-custom-post-type-archives-wordpress/

И это действительно должно быть сделано с использованием функции встроенных архивов в 3.1 - плагин был построен для 3.0.

person Jake Goldman    schedule 13.08.2011

Для этого есть билет Trac, но неясно, что будет наиболее очевидным. показать на этой странице:

  1. список всех сообщений, прикрепленных к любому термину этой таксономии, или
  2. список всех терминов этой таксономии?

Аналогичный вопрос о WordPress Stack Exchange попросили вариант 2, и ваш вопрос можно интерпретировать обоими способами: когда вы говорите все элементы в таксономии, вы имеете в виду все термины этой таксономии или все сообщения, связанные с термином этой таксономии?

В настоящее время основной запрос (цикл), которым вы можете управлять с помощью переменных запросов, всегда будет возвращать сообщения, а не термины. Как сказано в заявке, вариант 2 потребует, чтобы цикл возвращал условия для этого запроса, что может вызвать проблемы совместимости для тем, для которых нет шаблона. Пока это не будет реализовано, Ответ Дэвида, вероятно, лучший вариант.

person Jan Fabry    schedule 04.02.2011

Спасибо за ответы! Я нашел плагин, который делает именно то, что я хотел - после ручного кодирования всего: /

http://www.thinkoomph.com/plugins-modules/wordpress-custom-post-type-archives/

person Constant Meiring    schedule 05.02.2011
comment
В описании плагина ничего не говорится о создании шаблонов страниц архива для пользовательских таксономий, только для пользовательских типов сообщений. Вы уверены, что это решает первое? - person Adam Friedman; 19.08.2014

Используйте подключаемый модуль WP htaccess Control http://wordpress.org/extend/plugins/wp-htaccess-control/

В опциях вы можете удалить базу выбранных вами таксономий. Сработало для меня, надеюсь, это сработает и для вас :)

person Saurabh Goel    schedule 06.07.2012