在自定义菜单中浏览特色图像

时间:2017-10-27 08:28:07

标签: wordpress

尝试在没有插件的情况下在自定义菜单中浏览精选图像,以便我可以根据自己的需要进行设计。

这是我到目前为止的代码;

<?php
$navMenu = wp_get_nav_menu_items(6); /*/Pass Nav Menu_id or Name*/
$previousMenuParent = $level = 0;                         
foreach ($navMenu as $menu) {
$level = 0;
echo '<li><a href="'. $menu->url .'">'. $menu->title .'</a>';                            
echo '<br><br>';
**image goes here**
}
?>

我已经尝试过了;

echo $menu->title = has_post_thumbnail($menu->object_id);         
echo get_the_post_thumbnail($menu->object_id, 'thumbnail') : $menu->title;
echo has_post_thumbnail( $menu->object_id );

我觉得我很接近,其中一个会拉动图像,但努力克服困难!

2 个答案:

答案 0 :(得分:0)

您需要在循环中获取帖子的ID,然后将其传递给get_the_post_thumbnail。看看下面的代码。希望它有所帮助!

$navMenu = wp_get_nav_menu_items(6); /*/Pass Nav Menu_id or Name*/
$previousMenuParent = $level = 0;                         
foreach ($navMenu as $menu) {
    $level = 0;
    echo '<li><a href="'. $menu->url .'">'. $menu->title .'</a>';                
    echo '<br><br>';
    $id = $menu->object_id;
    echo get_the_post_thumbnail($id); 

}

答案 1 :(得分:0)

您要查找的信息位于Menu obj的object_id属性中,您可以通过var_dump($ menu)查看下面代码中的注释行。

Object_id为您提供菜单链接的帖子或页面的资源ID。现在您可以检查该页面/帖子是否有缩略图,如果成功,那么您可以回复相同的内容。

$navMenu = wp_get_nav_menu_items(6); /*/Pass Nav Menu_id or Name*/
    $previousMenuParent = $level = 0;                         
    foreach ($navMenu as $menu) {
        // var_dump($menu);
    $level = 0;
    $post_id = (int)$menu->object_id;
    echo '<li><a href="'. $menu->url .'">'. $menu->title .'</a>';                            
    echo '<br><br>';

    if(has_post_thumbnail( $post_id )){
        echo get_the_post_thumbnail( $post_id, 'thumbnail', array( 'class' => 'alignleft' ) );
    }

    }