Answer the question
In order to leave comments, you need to log in
Category post not displaying in wordpress?
Good evening. Doesn't display the category entry, I'm using walker. Description displays, the rest is not. What's the jamb?
The output code itself:
<?php
if ( !empty($cat) ) {
$parent_cat = get_category($cat);
$output = "<p>{$parent_cat->name}</p>";
$args = array(
'title_li'=> false,
'child_of' => $cat,
'depth' => 4,
'exclude' => 1,
'echo' => 0,
'hide_empty' => 0,
'show_count' => 0,
'taxonomy' => 'category',
'walker' => new True_Walker_Nav_Menu()
);
echo wp_list_categories($args);
}
?>
class True_Walker_Nav_Menu extends Walker_Nav_Menu {
/**
* @see Walker::start_el()
* @since 3.0.0
*
* @param string $output
* @param object $item Объект элемента меню, подробнее ниже.
* @param int $depth Уровень вложенности элемента меню.
* @param object $args Параметры функции wp_nav_menu
*/
function start_el(&$output, $item, $depth, $args) {
global $wp_query;
/*
* Некоторые из параметров объекта $item
* ID - ID самого элемента меню, а не объекта на который он ссылается
* menu_item_parent - ID родительского элемента меню
* classes - массив классов элемента меню
* post_date - дата добавления
* post_modified - дата последнего изменения
* post_author - ID пользователя, добавившего этот элемент меню
* title - заголовок элемента меню
* url - ссылка
* attr_title - HTML-атрибут title ссылки
* xfn - атрибут rel
* target - атрибут target
* current - равен 1, если является текущим элементов
* current_item_ancestor - равен 1, если текущим является вложенный элемент
* current_item_parent - равен 1, если текущим является вложенный элемент
* menu_order - порядок в меню
* object_id - ID объекта меню
* type - тип объекта меню (таксономия, пост, произвольно)
* object - какая это таксономия / какой тип поста (page /category / post_tag и т д)
* type_label - название данного типа с локализацией (Рубрика, Страница)
* post_parent - ID родительского поста / категории
* post_title - заголовок, который был у поста, когда он был добавлен в меню
* post_name - ярлык, который был у поста при его добавлении в меню
*/
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
/*
* Генерируем строку с CSS-классами элемента меню
*/
$class_names = $value = '';
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
$classes[] = 'menu-item-' . $item->ID;
// функция join превращает массив в строку
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
$class_names = ' class="' . esc_attr( $class_names ) . '"';
/*
* Генерируем ID элемента
*/
$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args );
$id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : '';
/*
* Генерируем элемент меню
*/
$output .= $indent . '<li' . $id . $value . $class_names .'>';
// атрибуты элемента, title="", rel="", target="" и href=""
$attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
$attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
$attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
$attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';
// ссылка и околоссылочный текст
$item_output = $args->before;
$item_output .= '<div class="img-cat"><img src="'.$item->description.'" ></div>';
$item_output .= '<a'. $attributes .'>';
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
$item_output .= '</a>';
$item_output .= $args->after;
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question