2012-02-16 11 views
1

私は843ページの子であれば、タグ "medical"で投稿を表示しようとしています。私はこのif文の中でHTMLをいくつか取得して、div内にすべてを囲み、リストの開閉ulを設定する必要があります。WordPressの投稿のクエリ

誰かがこの最後のこぶを乗り越えるのを手伝ってもらえますか? HTMLをどこに追加するのか分かりません。

<?php 
if (843 == $post->post_parent) { 
global $post; 
$myposts = get_posts('numberposts=10&tag=medical&order=DESC'); 
foreach($myposts as $post) : 
?> 
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
<?php endforeach; 
} 
?> 

答えて

2

あなたはdivの中のすべての投稿を囲みたい場合:

<?php 
global $post; 
if (843 == $post->post_parent) { 
    $myposts = get_posts('numberposts=10&tag=medical&order=DESC'); 
    echo '<div><ul>'; 
    foreach ($myposts as $post): ?> 
     <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
    <?php endforeach; 
    echo '</ul></div>'; 
} ?> 
+0

すごいです!ありがとう、ダビデ。 if文の中で最後のdivを得ることは可能ですか?それをエコーするのが最善でしょうか? – user1214812

+0

@Alexが正しかった。私はifの前に 'global $ postが必要だと思います。そうです、あなたはforeachループの周りでifブロックの内側にdivとulタグをエコーし​​ます。 –

1

は、あなただけの、次のような何かを行うことができますか?

<div id="wrap"> 
<ul> 
<?php 
if (843 == $post->post_parent) { 
global $post; 
$myposts = get_posts('numberposts=10&tag=medical&order=DESC'); 
foreach($myposts as $post) : 
?> 
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
<?php endforeach; 
} 
?> 
</ul> 
</div> <!-- #wrap !--> 
+0

if文の中にdivとULを入れる必要があることを指定しておくべきです。なぜなら、ページが条件を満たさない場合は何も表示したくないからです。 – user1214812

1

まず、あなたはこのようif文、および再書き込み条件の前にグローバル$ポスト変数を呼び出す:

global $post 
if ($post->post_parent = 843) 

また、あなたは、関数を使用することはできません(the_permalink)とthe_title( )ループの外で、あなたが使用する必要があり、代わりに、関数は(get_the_permalink ID)とget_the_title(ID)は、この方法で(とも、$ポストがあいまいである、あなたは別の変数名を使用する必要があります):

<div><ul> 
<?php foreach($myposts as $mypost) : ?> 
<li><a href="<?php echo get_the_permalink($mypost->ID); ?>"><?php echo get_the_title($mypost->ID); ?></a></li> 
<?php endforeach; 
}?> 
</ul></div>