以下を使用して、カスタム投稿タイプにカスタム分類を設定しました。(例として、カスタム投稿タイプはnewtype
と呼ばれ、新しい分類は単にnewtax
と呼ばれます。
// Create Custom Post Type for newpost
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'x_newtype',
array(
'labels' => array(
'name' => __( 'New Type' ),
'singular_name' => __( 'New Type' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'newtype'),
'taxonomies' => array('category', 'post_tag'),
'supports' => array('title','editor','excerpt','thumbnail')
)
);
}
// Add custom field for custom post type
function new_taxonomy() {
register_taxonomy(
'newtax',
'x_newtype',
array(
'hierarchical' => true,
'label' => 'New Tax',
'query_var' => true,
'rewrite' => array('slug' => 'newtax')
)
);
}
add_action( 'init', 'new_taxonomy' );
これはうまくいきますが、URLのリダイレクトについて質問がありました。
現在、http://www.domain.com/newtype/newtax-term/post-name/
に移動すると、http://www.domain.com/newtype/post-name/
にリダイレクトされます。リダイレクトせずにhttp://www.domain.com/newtype/newtax-term/post-name/
をロードするための最良の方法は何ですか?
読んでくれてありがとう。
リダイレクトせずに
http://www.domain.com/newtype/newtax-term/post-name/
をロードするための最良の方法は何ですか?
これを機能させるには、カスタムの書き換え規則を追加する必要があります。さもなければWordPressはあなたのパーマリンク構造のnewtax-term
部分を理解せず、それが理解するURL、%post_type%/%post_slug%
にあなたをリダイレクトします。
WordPress Rewrite APIの機能を理解したい場合は、 Rewrite API:基本 の記事を読むことをお勧めします。それを学ぶための努力を惜しまないで、あなたはそれに問題を抱えないでしょう。