Как получить идентификатор категории текущего поста?
4 ответ
- голосов
-
- 2018-11-10
function catName($cat_id) { $cat_id = (int) $cat_id; $category = &get_category($cat_id); return $category->name; } function catLink($cat_id) { $category = get_the_category(); $category_link = get_category_link($cat_id); echo $category_link; } function catCustom() { $cats = get_the_category($post->ID); $parent = get_category($cats[1]->category_parent); if (is_wp_error($parent)){ $cat = get_category($cats[0]); } else{ $cat = $parent; } echo '<a href="'.get_category_link($cat).'">'.$cat->name.'</a>'; }
ИСПОЛЬЗОВАТЬ
<a href="<?php catLink(1); ?>"> <?php catName(1); ?>
function catName($cat_id) { $cat_id = (int) $cat_id; $category = &get_category($cat_id); return $category->name; } function catLink($cat_id) { $category = get_the_category(); $category_link = get_category_link($cat_id); echo $category_link; } function catCustom() { $cats = get_the_category($post->ID); $parent = get_category($cats[1]->category_parent); if (is_wp_error($parent)){ $cat = get_category($cats[0]); } else{ $cat = $parent; } echo '<a href="'.get_category_link($cat).'">'.$cat->name.'</a>'; }
USE
<a href="<?php catLink(1); ?>"> <?php catName(1); ?>
-
Добро пожаловать на сайт @swibo.Этот ответ требует большей ясности.Возможно,объясните,что вы делаете и почему,а также почему это отвечает на исходный вопрос.Welcome to the site, @swibo. This answer could use a little more clarity. Perhaps explain what you're doing and why, as well as why this answers the original question.
- 1
- 2018-11-10
- butlerblog
-
- 2016-11-30
Когда вы используете функцию
get_the_category()
для получения данных категории,она возвращает массив объектов,поэтому вам нужно получить доступ к идентификатору категории,передав ключ массива,например$postcat[0]->term_id
global $post; $postcat = get_the_category( $post->ID ); // try print_r($postcat) ; if ( ! empty( $postcat ) ) { echo esc_html( $postcat[0]->name ); }
Надеюсь на эту помощь!
When you use
get_the_category()
function to get category's data, it return the array of object so you have to access category id by passing array key, like this$postcat[0]->term_id
global $post; $postcat = get_the_category( $post->ID ); // try print_r($postcat) ; if ( ! empty( $postcat ) ) { echo esc_html( $postcat[0]->name ); }
Hope this help!
-
- 2018-07-28
Улучшение ответа Говинда Кумара,поскольку спрашивающий спрашивает о идентификаторе категории ,а не о названии категории .Имя свойства объекта для идентификатора категории - « cat_ID ».
// get cat ID for general view $postcat = get_the_category( $query->post->ID ); if ( ! empty( $postcat ) ) { echo $postcat[0]->cat_ID; }
An improvement to Govind Kumar answer, as the asker askes about category ID, not the category name. The property name of the object for category ID is "cat_ID".
// get cat ID for general view $postcat = get_the_category( $query->post->ID ); if ( ! empty( $postcat ) ) { echo $postcat[0]->cat_ID; }
-
- 2018-07-07
global $post; $postcat=get_the_category ($post-> ID); if (!empty ($postcat)) { foreach ($postcat как $nameCategory) { echo $nameCategory->name. ''; } }?>
global $post; $postcat = get_the_category( $post->ID ); if ( ! empty( $postcat ) ) { foreach ($postcat as $nameCategory) { echo $nameCategory->name .' '; } }?>
-
Не отвечает на вопрос.Аскер хотел получить * ID * категории,а не распечатанный список имен.Doesn't answer the question. Asker wanted the *ID* of the category, not a list of names printed out.
- 0
- 2018-07-08
- Jacob Peattie
Мне нужно получить идентификатор категории текущего сообщения вне цикла.Сначала я получаю категорию на основе идентификатора сообщения:
Как теперь получить идентификатор категории?Я пробовал:
$cat_id = $postcat->term_id;
,но это не работает.