Получить ID произвольной таксономии по ID записи

25 апр. 2012 г., 08:54:18
Просмотры: 16.8K
Голосов: 1

Если у меня есть ID текущей записи, который хранится в переменной $pid

Я использую $terms = get_the_terms($pid, 'custom_category');

Как мне получить просто term id/term_taxonomy_id

Если я сделаю var_dump для $terms, я вижу то, что мне нужно... но я не знаю, как получить просто ID, а не массив, только ID.

Учтите... я меньше чем наполовину понимаю, что делаю... просто тыкаю в клавиатуру, чтобы получить желаемое... но с каждым днём учусь больше.

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

(Возможно, лучше использовать get_the_terms).

$terms =  wp_get_object_terms( $pid, 'custom_category', array('fields'=>'ids'));

Получить массив идентификаторов терминов (всегда будет массивом, даже если он содержит только один элемент):

$ids = wp_list_pluck( $terms, 'term_id' );

Если вам нужен только один идентификатор... тогда извлеките последний идентификатор:

 $id = array_pop($ids);

См. также документацию PHP по функции array_pop здесь

25 апр. 2012 г. 09:55:44
Комментарии

ценю ответ... но это всё ещё возвращает массив, из которого я не знаю, как извлечь id... Я совсем новичок... понятия не имею, что делать с возвращаемым значением.

Brian Thornton Brian Thornton
25 апр. 2012 г. 10:13:14

@BrianThornton обновил мой ответ....

Rajeev Vyas Rajeev Vyas
25 апр. 2012 г. 10:15:56

почти разобрался... но уже поздно и глаза слипаются... продолжу завтра... спасибо за помощь.

Brian Thornton Brian Thornton
25 апр. 2012 г. 11:23:59

@BrianThornton - у вас всегда будет массив, потому что у записей может быть несколько связанных терминов. Вам нужно будет самостоятельно извлечь ID. Я бы использовал get_the_terms вместо wp_get_object_terms.

Stephen Harris Stephen Harris
25 апр. 2012 г. 11:53:18

Итак, это ответило на мой вопрос... основы будут моей погибелью. Я всё ещё не могу заставить работать то, что мне нужно... но это сложно. Так что я пишу довольно длинный вопрос, который опубликую чуть позже. Спасибо, ребята... я учусь здесь с каждым днём!

Brian Thornton Brian Thornton
25 апр. 2012 г. 22:24:57
1
-1

Попробуйте этот код для получения ID категории из ID записи.

$categories = get_the_category( $post_id );
25 апр. 2012 г. 11:12:36
Комментарии

За исключением того, что, согласно http://codex.wordpress.org/Function_Reference/get_the_category: "Эта функция возвращает результаты только для стандартной таксономии 'category'. Для пользовательских таксономий используйте get_the_terms." Поверьте... я бы с радостью её использовал...

Brian Thornton Brian Thornton
25 апр. 2012 г. 11:23:18