1
下面是一个Wordpress函数,它为菜单提取缩略图。如果没有缩略图,我如何添加if/else以显示“无缩略图”?如果没有缩略图显示“无缩略图”
我曾尝试:
$item_output .= apply_filters('menu_item_thumbnail' , (!isset($args->thumbnail) && $args->thumbnail)) ? 'no thumbnail' : '';
但是,这并没有影响。对不起,如果这是一个愚蠢的问题,但我不知道PHP。
功能:
class Menu_With_Description extends Walker_Nav_Menu {
function start_el(&$output, $item, $depth, $args) {
global $wp_query;
// get user defined attributes for thumbnail images
$attr_defaults = array('class' => 'nav_thumb' , 'alt' => esc_attr($item->attr_title) , 'title' => esc_attr($item->attr_title));
$attr = isset($args->thumbnail_attr) ? $args->thumbnail_attr : '';
$attr = wp_parse_args($attr , $attr_defaults);
$item_output = $args->before;
// thumbnail image output
$item_output .= (isset($args->thumbnail_link) && $args->thumbnail_link) ? '<a' . $attributes . '>' : '';
$item_output .= apply_filters('menu_item_thumbnail' , (isset($args->thumbnail) && $args->thumbnail) ? get_the_post_thumbnail($item->object_id , (isset($args->thumbnail_size)) ? $args->thumbnail_size : 'thumbnail' , $attr) : '' , $item , $args , $depth);
$item_output .= (isset($args->thumbnail_link) && $args->thumbnail_link) ? '</a>' : '';
// menu link output
$item_output .= '<a'. $attributes .'>';
$item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after;
$item_output .= '</a>';
// menu description output based on depth
$item_output .= ($args->desc_depth >= $depth) ? '<br /><span class="sub">' . $item->description . '</span>' : '';
// close menu link anchor
$item_output .= $args->after;
$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
}
}
这适用上述我的菜单:
add_filter('wp_nav_menu_args' , 'my_add_menu_descriptions');
function my_add_menu_descriptions($args) {
if ($args['theme_location'] == 'my_menu') {
$args['walker'] = new Menu_With_Description;
$args['desc_depth'] = 0;
$args['thumbnail'] = true;
$args['thumbnail_link'] = true;
$args['thumbnail_size'] = 'homeboxes';
$args['thumbnail_attr'] = array('class' => 'nav_thumb my_thumb' , 'alt' => 'test' , 'title' => 'test');
}
return $args;
}
有一个WordPress的函数名为has_post_thumbnail,你试过了吗? [Codex Page](http://codex.wordpress.org/Function_Reference/has_post_thumbnail) – martinczerwi
我将如何编写if/else来包含它?我不太明白所有'$ item_output。='语句的语法 – user1444027