web-dev-qa-db-ja.com

$ pagedリダイレクトを使用して/ page/2から1ページに

私は自分の投稿用のカスタムクエリ(single.php)をページ付けを使って設定しましたが、それはところでデフォルトのパーマリンク構造でうまくいっています。

domain.com/p=ID&paged=2

パーマリンクを/%postname%//page/2 /に切り替えると、最初のページにリダイレクトされます。

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args=array( 'connected_type'=> 'posts_to_posts', 'posts_per_page' => 3, 'paged' => $paged, 'order' => 'ASC', 'connected_items' => get_queried_object() );

$temp = $wp_query;
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query( $args );
if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>

    <a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php the_title(); ?></a>

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

私を混乱させているのは、irがデフォルトのパーマリンクを使っているのですが、なぜ「かわいい」リンクを使って作業していないのですか?

ホームページのページネーションはうまく機能していて、どうにかしてめちゃくちゃになっている投稿ページだけです。誰かが私を正しい方向に向けることができますか?どこでエラーを探すべきですか?

私はすべてのプラグインを無効にし、htaccessを削除し、新しいものを作成しました。

1
user156

誰かがこの問題に遭遇した場合、あなたはこれをあなたのfunctions.phpコードに追加することができます

add_filter('redirect_canonical','pif_disable_redirect_canonical');

function pif_disable_redirect_canonical($redirect_url) {
    if (is_singular()) $redirect_url = false;
return $redirect_url;
}

出典

3
user156

これがメインループではない場合別名(ブログページ)Wordpressは/ 2をページングのquery_varとしてではなく、サブページの名前として解釈します。

これをページ上で動作させたい場合は、独自のquery_var http://codex.wordpress.org/WordPress_Query_Vars を登録し、構造を/にする必要があります。たとえば、ページ/ページング/ 2です。

0