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