获取邮件缩略图在wp_Get_NAV_Menu_Items挂接中不起作用

时间:2014-08-03 作者:Mihai Papuc

if ( ! is_admin() ) {
add_filter( \'wp_get_nav_menu_items\', \'display_last_posts_for_menu_item_ts\', 10, 3 );
}

function display_last_posts_for_menu_item_ts( $items, $menu, $args ) { 
    $menu_order = count($items); /* Offset menu order */
    $post_ids = array(250,973);
    $args = array ( \'include\' => $post_ids );
    $child_items = array();
    foreach ( $items as $item ) {        
        foreach ( get_posts( $args ) as $post ) {
            // Add sub menu item
            $img = get_the_post_thumbnail ( $post->id, \'thumbnail\' );
            $post_thumbnail_id = get_post_thumbnail_id( $post->id );
            $img .= \'<!--\' . $post_thumbnail_id . \' / \' . $post->ID . \'-->\';
            $post->menu_item_parent = $item->ID;
            $post->post_type = \'nav_menu_item\';
            $post->object = \'custom\';
            $post->type = \'custom\';
            $post->menu_order = ++$menu_order;
            $post->title = $img . $post->post_title;
            $post->url = get_permalink( $post->ID );
            /* add children */
            $child_items[]= $post;
        } 
    }
    return array_merge( $items, $child_items );
}
我正在使用此功能添加子菜单(修改自Category menu item and its last 10 posts as sub-menu ). 出于我无法理解的原因,我无法获取这些帖子的缩略图-尽管超出了此功能get_the_post_thumbnail ( 973, \'thumbnail\' ); 返回预期结果。有什么想法吗?

2 个回复
最合适的回答,由SO网友:adrian7 整理而成

这是因为对象属性区分大小写,因此$post->ID 不同于$post->id .

只需打印出这两个,您就会注意到差异,或者打印$post 对象以查看所有可用的属性和方法。

SO网友:h eaven

只需删除->id 因为你只使用函数中的第一个ID

$img = get_the_post_thumbnail ( $post->id, \'thumbnail\' ); 
一定是这样的:

$img = get_the_post_thumbnail ( $post, \'thumbnail\' );

结束

相关推荐

Order Admin sub-menu items?

我正在使用向CPT管理菜单添加项目add_submenu_page 这很好,但它们被添加到CPT选项后的子菜单底部。我希望能够将它们放在最上面,但我想这个问题也可以应用于订购所有基于管理员的子菜单项。我所尝试的(不起作用,我尝试了几种变体),function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( \'edi