web-dev-qa-db-ja.com

特定のタグを使用して投稿を呼び出す方法

私はこれを使用して投稿を呼び出します。

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$per_page = get_option('to_count_archives');
query_posts("posts_per_page=".$per_page."&paged=".$paged."&cat=".$cat);
if (have_posts())
?>
<?php while (have_posts()) : the_post(); ?>

そしてそれはカテゴリに最適です。ただし、タグ用に生成されたアーカイブページでは、特定のタグ付きの投稿だけでなく、すべての投稿が表示されます。私は別々のarchives.phpとcategory.phpを作成するつもりです。

1ページあたりの投稿数を呼び出すので、コードのto_count_archives部分を維持する必要があります。

上記のコードを正しく書き直すための手助けをいただければ幸いです。

1
AndrettiMilas

query_postsを呼び出すと、元のクエリが新しいクエリで上書きされるので、元のクエリを取得して変更したいものをリセットする必要があるからです。

global $query_string;
$per_page = get_option( 'to_count_archives' );
query_posts( $query_string . '&posts_per_page=' . $per_page );
1
Milo

WP_Query を使用して、次のようにしてください。

// The Query
$the_query = new WP_Query(  array( 'posts_per_page' => 5, 'tag' => 'THETAG' ) );

// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
    echo '<li>';
    the_title();
    echo '</li>';
endwhile;

カテゴリについても同じことができます。上記のコードサンプルが私を混乱させるという質問を理解していることを願っています。 WP_Queryのほうが使いやすいと思います。

0
Brooke.