0

来週たくさんのビデオが投稿されるサイトがあります。動画は、「to」、「from」、yt 動画 ID のみのカスタム投稿タイプで投稿されます。アーカイブページにたくさんのビデオをロードしたいのですが、ページあたり x を超えないようにします。したがって、1 ページ目に x 件の投稿、2 ページ目に x 件というように続きます。残念ながら、ページ番号は表示されず、「p」コンテナは空のままです。これが私のコードです:

      $args = array( 'post_type' => 'video'/*, 'posts_per_page' => 3 */);
        $loop = new WP_Query( $args );
        if (have_posts()) : 
    while ( $loop->have_posts()) : $loop->the_post(); 


                <?php endwhile; ?>
                <p><?php posts_nav_link('&#8734;','&laquo;&laquo; View newer posts','View older posts &raquo;&raquo;'); ?></p>
                <?php endif; ?>

while の間の部分を空にしました。その部分では、the_permalink や the_content などの基本的な関数を呼び出すだけだからです。

4

1 に答える 1

0

結局のところ、posts_nav_link を WP_Query と併用しても期待どおりに動作しません。なぜなら、posts_nav_link はグローバル $wp_query オブジェクトに依存しており、カスタム WP_Query インスタンスを認識しないからです。

この回答は、すべてを機能させるために必要な詳細を提供する必要があります。

<?php
global $wp_query;
$temp_wp_query = $wp_query;
$wp_query = null;

$paged = get_query_var('paged');
$args = array(
    'post_type' => 'video',
    'paged' => $paged ? $paged : 1
    /*, 'posts_per_page' => 3 */
);
$loop = new WP_Query( $args );
$wp_query = $loop;
if ($loop->have_posts()) : 
while ( $loop->have_posts()) : $loop->the_post(); 


<?php endwhile; ?>
<p><?php posts_nav_link('&#8734;','&laquo;&laquo; View newer posts','View older posts &raquo;&raquo;'); ?></p>
<?php
endif;
$wp_query = $temp_wp_query;
?>
于 2013-02-12T21:37:11.597 に答える