Описание
Получает список категорий поста. Список получается в виде ссылок на категории.
Нужно применять внутри Цикла WordPress или использовать параметр post_id (см. описание).
get_the_category_list() используется в: the_category().
Функция возвращает HTML код ссылок на категорию(и).
Использование
<?php get_the_category_list( $separator, $parents, $post_id ); ?>
Параметры
- $separator (строка)
- Разделитель между ссылками.
По умолчанию: выведет ссылки в списке <ul> - $parents (строка)
- Как показывать ссылки, если текущая категория является дочерней. Может принимать:
- multiple - показывать отдельно ссылки на родительскую и дочернюю категории, сохраняя порядок (родитель → предок);
- single - показать одну ссылку, на категорию в которой находится пост, но текстом ссылки станет вся структура вложенности поста в категории (родитель/предок).
По умолчанию: просто выводятся категории, к которым принадлежит пост (связь не учитывается)
- $post_id (число)
- ID поста, категории которого нужно вывести. Добавлен в версии 2.5.
По умолчанию: $post->ID (текущий пост)
Примеры
Смотрите в описании функции the_category().
get_the_category_list()
из файла: /wp-includes/category-template.php WP 3.3.2function get_the_category_list( $separator = '', $parents='', $post_id = false ) {
global $wp_rewrite;
$categories = get_the_category( $post_id );
if ( !is_object_in_taxonomy( get_post_type( $post_id ), 'category' ) )
return apply_filters( 'the_category', '', $separator, $parents );
if ( empty( $categories ) )
return apply_filters( 'the_category', __( 'Uncategorized' ), $separator, $parents );
$rel = ( is_object( $wp_rewrite ) && $wp_rewrite->using_permalinks() ) ? 'rel="category tag"' : 'rel="category"';
$thelist = '';
if ( '' == $separator ) {
$thelist .= '<ul class="post-categories">';
foreach ( $categories as $category ) {
$thelist .= "\n\t<li>";
switch ( strtolower( $parents ) ) {
case 'multiple':
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, true, $separator );
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
break;
case 'single':
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, false, $separator );
$thelist .= $category->name.'</a></li>';
break;
case '':
default:
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a></li>';
}
}
$thelist .= '</ul>';
} else {
$i = 0;
foreach ( $categories as $category ) {
if ( 0 < $i )
$thelist .= $separator;
switch ( strtolower( $parents ) ) {
case 'multiple':
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, true, $separator );
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
break;
case 'single':
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>';
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, false, $separator );
$thelist .= "$category->name</a>";
break;
case '':
default:
$thelist .= '<a href="' . get_category_link( $category->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '" ' . $rel . '>' . $category->name.'</a>';
}
++$i;
}
}
return apply_filters( 'the_category', $thelist, $separator, $parents );
}Ещё из раздела
- paginate_links() view
- url_to_postid() view
- remove_menu_page() view
- remove_action() view
- wp_set_post_categories() view
Смотрите также: Функции WordPress и Теги Шаблона.
Хотите отдохнуть за городом, но сомневаетесь в выборе места? Безусловно, достойным решением будет снять коттедж в ленинградской области и провести там незабываемые выходные в кругу семьи или друзей, а можно и того и другого и переправить все это какой-нибудь развлекательной программой.
