Получение 'slug' пользовательской таксономии в WordPress

4 окт. 2010 г., 03:39:28
Просмотры: 13.8K
Голосов: 4

Пример использования:

У меня есть пользовательский тип записи 'show' для музыкального заведения. В сайдбаре мы хотим отображать связанные мероприятия 'show' на странице single-show.php. Они будут связаны через пользовательскую таксономию 'genre'. Я подумал, что мог бы собрать slug'и пользовательской таксономии для поста (их может быть несколько) в переменную, а затем передать эту переменную в кастомный запрос для сайдбара.

Использование get_the_term_list() работает, если таксономия одна, но если их несколько - ломается (естественно).

Есть идеи, как получить массив slug'ов пользовательской таксономии для конкретного поста в переменную?

0
Все ответы на вопрос 1
2

Вы можете сделать что-то подобное:

$terms = get_the_terms( $post->id, 'genre' ); // получаем массив всех терминов в виде объектов.

$terms_slugs = array();

foreach( $terms as $term ) {
    $terms_slugs[] = $term->slug; // сохраняем ярлыки в массиве
}
4 окт. 2010 г. 04:58:40
Комментарии

Дало мне то, что я хотел. К сожалению, WordPress не поддерживает запросы для нескольких пользовательских таксономий без некоторых SQL-ухищрений (LEFT JOIN...).

curtismchale curtismchale
4 окт. 2010 г. 20:15:04

На случай, если вы не в курсе, есть плагин для запросов по нескольким таксономиям: http://wordpress.org/extend/plugins/query-multiple-taxonomies/

sorich87 sorich87
4 окт. 2010 г. 20:34:15