ことは、私のテーマのホームページで、したい異なる部門の異なるカテゴリからの投稿を表示します。各DIVには、カテゴリからの投稿が3つ含まれます。特定のカテゴリから最後の3件の投稿を選択できるループが必要です。それに適した答えを見つけることができません。
説明を簡単にするために、Contentセクションのデモ画像を次に示します。
http://i.imgur.com/5QSzAIS.png
誰かがコードを手伝ってくれるなら、それは大きな助けになるでしょう!
回答:
回答№1は2<?php query_posts("cat=10&posts_per_page=3"); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
これであなたは始められるはずです。このコードを2回使用する必要があります。それが言うところ cat=10
カテゴリIDを入力する必要があります(管理パネルからカテゴリをクリックするとこれを確認できます。ブラウザには次のように表示されます)。 http://yourwebsite.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=4&post_type=post)
それが言うところ tag_ID
カテゴリのIDです。
回答№2の場合は0
現在、ページで別の方法を使用しています1つのページで複数のループを実行し、それぞれのカテゴリを指定できるようにするためのサイトの構築です。 ID
使用する代わりに have_posts()
など、あなたが使用する WP_Query()
配列を定義してから wp_reset_postdata()
あなたのループを終わらせるために。この方法でループを実行し続けることができるという利点があります。
私は自分の投稿のカスタムフィールドからもデータをロードしています get_post_meta
しかし、この方法はそれなしで動作します。
<div class="audioGrid">
<?php
$args = array( "post_type" => "post",
"category_name" => "audio",
"posts_per_page" => 3,
"order" => "DESC" );
$query1 = new WP_Query($args);
while ( $query1->have_posts() ) {
$query1->the_post();
?>
<div id="<?php echo( basename(get_permalink()) ); ?>" class="grid_item">
<?php the_post_thumbnail( "audio-thumb" ); ?>
<h3><?php the_title(); ?></h3>
<p><?php echo get_post_meta($post->ID, "post_description", true); ?></p>
<a target="blank" href="<?php echo get_post_meta($post->ID, "audio_link", true); ?>"></a>
</div>
<?php the_content(); ?>
<?php } ?>
</div> <?php // end Audio Grid ?>
<?php wp_reset_postdata(); ?>
<div class="videoGrid">
<?php
$args2 = array( "post_type" => "post",
"category_name" => "video",
"posts_per_page" => 3,
"order" => "DESC" );
$query2 = new WP_Query($args2);
while ( $query2->have_posts() ) {
$query2->the_post();
?>
<div id="<?php echo( basename(get_permalink()) ); ?>" class="grid_item">
<?php the_post_thumbnail( "video-thumb" ); ?>
<h3><?php the_title(); ?></h3>
<p><?php echo get_post_meta($post->ID, "post_description", true); ?></p>
<a target="blank" href="<?php echo get_post_meta($post->ID, "video_link", true); ?>"></a>
</div>
<?php the_content(); ?>
<?php } ?>
</div> <?php // end Video Grid ?>
<?php wp_reset_postdata(); ?>
私がしているもう一つの素晴らしいことは、カスタムフィールドを使って物事の順番を定義して使うことです。 meta_key
そして meta_value_num
この番号を取得して順序を強制するため、そしてこのサイトは複雑ではないので、順序をこのように定義するのが便利です。簡単にするために先行ゼロを使用します。
<?php
$args2 = array( "post_type" => "post",
"category_name" => "video",
"posts_per_page" => 3,
"meta_key" => "video_order",
"orderby" => "meta_value_num",
"order" => "ASC" );
$query2 = new WP_Query($args2);
while ( $query2->have_posts() ) {
$query2->the_post();
?>
とにかく、あなたが異なるカテゴリーから投稿を引き出すために複数のループを使用する必要があるならば、これが助けになることを願っています。