1

この問題に関するいくつかのトピックと質問を既に検索しましたが、自分のコードに合った答えが見つかりませんでした。

カスタム投稿のページネーションが表示されますShow next posts >>が、URL が表示されていても、前のページの同じ投稿をクリックすると表示されます?paged=2

私のコードは次のとおりです。

<div class="podcast-entries">
    <?php
    $args = array( 'post_type' => 'strn5_podcasts',
                   'posts_per_page' => 3,
                   'paged' => (get_query_var('paged') ? get_query_var('paged') : 1 );
    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query( $args );

    if ( $wp_query->have_posts() ) : 
    while ( $wp_query->have_posts() ) :
    $wp_query->the_post();
    ?>

        <div <?php post_class(); ?> >

            <h4 class="podcast-title"><?php the_title(); ?></h4>

            <div class="podcast-content">
                <?php the_content(); ?>
            </div>

            <h6><?php the_time('F j, Y'); ?></h6>

            <div class="post-separator col-lg-12"></div>

        </div>

    <?php endwhile; endif; ?>

    <div class="navigation-links">

        <div class="next-post">
            <?php next_posts_link( '>> Siguiente Entrada' ); ?>
        </div>

        <div class="previous-post">
            <?php previous_posts_link( 'Anterior Entrada >>' ); ?>
        </div>

    </div>

    <?php $wp_query = null; 
    $wp_query = $temp;
    wp_reset_query(); ?>

</div> <!-- .podcast-entries -->
4

2 に答える 2

0

私は硫黄に同意します。より具体的には、次の 3 行が問題だと思います。

$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query( $args );

$wp_queryあなたの説明に基づいて、がnullではないとしてキャッチされている場合、これが問題を引き起こすようです。なぜそこにそれを入れるのかはわかりませんが、理由があるに違いありません。

少なくとも、トラブルシューティングに役立つように、その最初の 2 行を取り出してください。

于 2013-08-10T01:04:28.947 に答える
0

通常、何かがうまくいかないときに私がすることは、すべてを取り除いて、問題が何であるかを確認するために、必要最小限のもので再構築を開始することです。

より単純な形式のループを試して、prin.t に到達できるかどうかを確認してください。

<?php query_posts(array('posts_per_page' => 3, 'post_type' => 'strn5_podcasts', 'paged' => get_query_var('page'))); if (have_posts()) : while (have_posts()) : the_post(); ?>
  <p><?php the_title(); ?></p>
<?php endwhile; endif;?>

<div class="navigation-links">
  <div class="next-post"><?php next_posts_link( '>> Siguiente Entrada' ); ?></div>
  <div class="previous-post"><?php previous_posts_link( 'Anterior Entrada >>' ); ?></div>
</div>

それはあなたがやっていることとほとんど同じです(ほとんど)が、変数やその他の「可能性のある」問題はありません。

編集

最終的に、パラメータはorpagedで使用できることが判明しました。この場合、代わりにor でうまくいきましたpagedpagepagepaged

そのため、最終的に次のようになりました。

'paged' => get_query_var('page')

最後にget_query_var('page')、ホームページとして設定したカスタム ページ テンプレートでクエリ投稿を使用している場合は、使用が必要です。

于 2013-08-10T00:57:24.680 に答える