Полезные функции при работе с категориями
«Хлебные крошки» для отображения на странице категорий ниже текущей.
Автор @campusboy, он же Дмитрий Кобяков
/**
* Описание функции
* @param array $atts
* @return string
*/
function subcats_func( $atts ) {
$data = '';
// Если не рубрика - обрывает выполнение функции
if ( ! is_category() ) {
return $data;
}
// Объединяет указанные атрибуты (параметры) шоткода с известными атрибутами (из белого списка)
$atts = shortcode_atts( array(
'cat_id' => get_query_var( 'cat' ),
), $atts );
// Получает рубрики
$cats = get_categories( [
'parent' => $atts[ 'cat_id' ],
'hide_empty' => 0,
] );
if ( $cats ) {
$cat_links = '';
foreach ( $cats as $cat ) {
$cat_links .= sprintf( ' %s ', get_category_link( $cat->term_id ), $cat->cat_name );
}
$data = sprintf( '', $cat_links );
}
return $data;
}
add_shortcode( 'subcats', 'subcats_func' );
function the_services_navigations(){
$category = get_queried_object()->term_id;
$cat_data = get_categories( array( 'parent' => $category, 'hide_empty' => 0 ) );
if ( $cat_data ) {
$cat_links = '';
foreach ( $cat_data as $one_cat_data)
$cat_links .= sprintf( '%s', get_category_link( $one_cat_data->term_id ) , $one_cat_data->cat_name );
printf( '', $cat_links );
}
}
// CSS
.n-cat {
color: #fff;
background-color: #2d5c88;
padding: 4px;
margin: 0 3px 0 0;
line-height: 2.2em;
}
Пример использования https://sensorgroup.kz/c/videokamery/ — вверху список подкатегорий


Канал @EmelyanovEG photo в Telegram