Как перечислить все элементы в таксономии с постоянной ссылкой в ​​WordPress - PullRequest
1 голос
/ 10 января 2011

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

http://sitename.com/products

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

http://sitename.com/brands

http://sitename.com/categories

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

Ответы [ 5 ]

2 голосов
/ 04 февраля 2011

На самом деле пока нет способа сделать это. 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>';
1 голос
/ 13 августа 2011

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

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

0 голосов
/ 06 июля 2012

Используйте WP htaccess Control Plugin http://wordpress.org/extend/plugins/wp-htaccess-control/

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

0 голосов
/ 05 февраля 2011

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

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

0 голосов
/ 04 февраля 2011

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

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

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

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

...