「プロジェクト」というカスタム投稿タイプ( ペーストビン )があり、ダッシュボードに「プロジェクト」というページが表示されます。テンプレート。 ( ペーストビン )
問題は、WP_PageNaviを使用してページ付けを組み込んで2ページをクリックすると、404というエラーが発生することです。カスタム投稿タイプとページに同じ名前を付けることはできないためです。ページ名を "Projects 2"に変更してもうまくいったので、それが正しいことがわかりました。
しかし、カスタム投稿タイプの名前を変更すると、それがURLに反映されます。カスタム投稿タイプを 'projects'ではなく 'projects2'に変更した場合、URLは次のようになります。mysite.com/projects2/single-post
ところで、私のカスタムパーマリンクを/%category%/%postname%/に設定しています。
同様に、審美的な理由でページの名前を「プロジェクト2」に変更することはできません。
では、どうすればこれを回避できますか。これは私を何時間も夢中にさせています。私は本当に有用なアドバイスをいただければ幸いです。
書き換えアナライザでわかるように、/projects/page/2/
は、projects=page&page=/2
の代わりにpagename=projects&paged=2
を設定します。ですから、この特別な場合のために書き換え規則を追加するだけです(あなたのカスタム投稿タイプを登録した後のregister_projects()
関数では、良い場所になるでしょう):
add_rewrite_rule( 'projects/page/([0-9]+)/?$', 'index.php?pagename=projects&paged=$matches[1]', 'top' );
パーマリンクページにアクセスするか、他の方法で、書き換え規則をフラッシュしてください。
そのより良い方法は、あなた自身のpaginatinを作ることです:
echo paginate_links(array(
'current' => 5,
'total' => 9,
'prev_text' => '« Prev'
));
またはカスタムソリューションを介して、この2記事を参照してください。