私の分類法とカスタム投稿タイプのカスタム分類テンプレートを作成しました。
カスタム投稿タイプ名は「eコマース」ですカスタム分類は「ecommerce_categories」です。問題はページネーションにあり、その中に投稿がある2ページがあることを正しく示していますが、2ページをクリックすると404ページになります分類ページでは、分類ファイルと同じように機能するカスタムページテンプレートも作成しました。ページ編集はここで(カスタムページテンプレートで)機能します。問題は分類カテゴリページでのみ発生します。これはファイルtaxonomy-ecommerce_categories.phpのコードです。
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$term = $wp_query->queried_object;
$shop_loop = new WP_Query( array( 'post_type' => 'ecommerce', 'ecommerce_categories' => $term->name, 'posts_per_page' => 2, 'orderby' => 'menu_order', 'paged'=>$paged ) ); ?>
<?php while ( $shop_loop->have_posts() ) : $shop_loop->the_post(); ?>
// here is my loop code with divs links etc.. etc...
<?php endwhile;?>
<div class="clearfix"></div>
<?php if(function_exists('wp_pagenavi')) { wp_pagenavi( array( 'query' => $shop_loop ) ); } ?>
2ページ目または3ページ目をクリックすると404エラーページが表示されます。これはパーマリンクの設定でも発生します。また、このコードを使用してwp pagenaviプラグインからwordpressのデフォルトページに変更した場合
<?php wp_link_pages(); ?> or previous_post_link and next_post_link
投稿の下に何も表示されていません。
どうすればこれを修正できますか?何が悪いの?
rewrite rule を使用して、これを自分で解決しました。
ストーリー:"piece"
カスタム投稿タイプ、分類法"media_tag"
"m_audio"
用語と分類法"genre_tag"
"g_sacred"
、"g_folk"
などがあります。アーカイブにアクセスするには、/piece/audio/<genre>
のようなURLが必要です。
だから、今私はfunctions.php
にあります:
add_filter( 'rewrite_rules_array', 'my_insert_rewrite_rules' );
function my_insert_rewrite_rules( $rules ) {
$newrules = array();
// audio pieces with g_sacred tax:
$newrules['piece/audio/([a-z]+)(/page/([0-9]+))?'] =
'index.php?post_type=piece&media_tag=m_audio'
. '&genre_tag=g_$matches[1]&paged=$matches[3]';
return $newrules + $rules;
}
taxonomy-media_tag-m_audio.php
テンプレートには何もありません。
お役に立てれば。
また、functions.php
にこれがあります:
// add_action( 'wp_loaded','my_flush_ALL_rules' );
function my_flush_ALL_rules(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
そして、add_action
のコメントを外して、変更後にルールをフラッシュします。