web-dev-qa-db-ja.com

404を表示するURLのカスタム分類

カスタム分類法でカスタム投稿タイプを使用する私は/ post-type/custom-taxonomy/article-nameのカスタムURL構造に従っています。

パーマリンク:カスタム投稿タイプ - >カスタム分類 - >投稿カスタム分類とカスタム投稿タイプを使ったパーマリンク構造の作り方基本名/親税/子税/カスタムポストタイプ名 (および主にこれらのもの)が、まだ回答が見つからないという問題があります。 。

カスタムの投稿タイプと分類法は問題なく機能します。投稿をクリックスルーしたときにURLがどのように表示されるかを示していますが、投稿の代わりに404エラーが表示されます。私はパーマリンクに入り、百万回節約しました、それでもまだ404を得ています。

まず、分類法を登録します。

register_taxonomy( 'mediacentral_type',
    array('ssd-mediacentral'), 
    array('hierarchical' => true,     
        'labels' => array(
            'name' => __( 'Categories', 'ssd' ),
            'singular_name' => __( 'Category', 'ssd' ),
            'search_items' =>  __( 'Search Categories', 'ssd' ),
            'all_items' => __( 'All Categories', 'ssd' ),
            'parent_item' => __( 'Parent Category', 'ssd' ),
            'parent_item_colon' => __( 'Parent Category:', 'ssd' ),
            'edit_item' => __( 'Edit Categories', 'ssd' ),
            'update_item' => __( 'Update Category', 'ssd' ),
            'add_new_item' => __( 'Add New Category', 'ssd' ), 
            'new_item_name' => __( 'New Post Category', 'ssd' ) 
        ),
        'show_admin_column' => true,
        'show_ui' => true,
        'public' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'media-central', 'with_front' => false ),
    )
);

それからタグ、

その後投稿タイプ:

register_post_type( 'ssd-mediacentral',
    array( 'labels' => array(
        'name' => __( 'Media Central', 'ssd' ), 
        'singular_name' => __( 'Post', 'ssd' ), 
        'all_items' => __( 'All Posts', 'ssd' ), 
        'add_new' => __( 'Add New Post', 'ssd' ), 
        'add_new_item' => __( 'Add Post', 'ssd' ), 
        'edit' => __( 'Edit', 'ssd' ), 
        'edit_item' => __( 'Edit Post', 'ssd' ), 
        'new_item' => __( 'New Post', 'ssd' ), 
        'view_item' => __( 'View Post', 'ssd' ), 
        'search_items' => __( 'Search Posts', 'ssd' ), 
        'not_found' =>  __( 'Nothing found in the Database.', 'ssd' ),
        'not_found_in_trash' => __( 'Nothing found in Trash', 'ssd' ), 
        'parent_item_colon' => ''
        ),
        'description' => __( 'SSD Media Central Posts', 'ssd' ),
        'public' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'show_ui' => true,
        'query_var' => true,
        'menu_position' => 8, 
        'menu_icon' => get_stylesheet_directory_uri() . '/library/images/custom-post-icon.png', 
        'rewrite'   => array( 'slug' => 'media-central/%mc_type%', 'with_front' => false ), 
        'has_archive' => 'media-central', 
        'capability_type' => 'post',
        'hierarchical' => true,
        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
    )
);

それからフィルタ:

function wpa_mc_permalinks( $post_link, $post ){
if ( is_object( $post ) && $post->post_type == 'ssd-mediacentral' ){
    $terms = wp_get_object_terms( $post->ID, 'mediacentral_type' );
    if( $terms ){
        return str_replace( '%mc_type%' , $terms[0]->slug , $post_link );
    }
}
return $post_link;
}
add_filter( 'post_type_link', 'wpa_mc_permalinks', 1, 2 );

私の投稿ページ/ media-centralに行き、 'test-podcast'という名前の投稿をクリックすると、URL/media-central/podcasts/test-podcastに行きますが、404が表示されます。 404と私はちょうどそれを落とすことの危機に瀕しています、どんな助けでも評価されるでしょう。

1
kevngibsn

これの一番下に行きました。

カスタムタクソノミー、およびベース名/親税/子税/カスタムポストの型名などのカスタム投稿タイプを使用してパーマリンク構造を作成する方法

私は全く新しいコンテンツタイプでゼロから始めました、そして、上の解決策の最初の答えは私のために働きました。

元の問題を解決しようとすると、まだいくつか重複したURLの問題がありましたが、それを解決するために少し片付けることができました。

1
kevngibsn