2017-10-27 4 views
0

プラグインなしのカスタムメニューでおすすめ画像をプルしようとしているので、自分の好みのスタイルにすることができます。カスタムメニューで紹介画像をプルスルーする

これはこれまでのコードです。

<?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); 

は、私は私がとても近くだと、これらのいずれかを介して画像を引っ張ってくるように感じるが、ラインを乗り越えるのに苦労します!

+0

現在表示されている投稿のおすすめ画像ですか?カスタムプラグインを使用してメニューに画像を割り当てていますか? – Mohsin

+0

@Mohsinは、ページ自体の画像を特色にしました – Sam

+0

私はそれを得ました!下の自分の答えを確認することができますので、特集画像が設定されているときに各項目のメニューからリンクされた項目の特徴画像を表示します。 – Mohsin

答えて

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); 

} 
+0

ええ私はそれを試みたが、私は理解していないものはまだ成功していない... – Sam

+0

@サム私はこれをもう一度見て、あなたの問題を見つけたと思う。私は私の答えを編集し、コードを含めるでしょう。 –

0

はメニューOBJのobject_id財産であり、あなたはのvar_dump($メニュー)で、以下のコードでは、私のコメント行を見ることがわかります。

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')); 
    } 

    } 
関連する問題