1

カスタム投稿タイプを作成し、cpt と標準の「投稿」に登録された分類法を作成しました。これはすべて完璧に機能します。組織上の理由から、2 つ目の分類法が必要になりました。最初のものをコピーして、名前とラベルを変更しただけです。バックエンドではすべて正常に動作しますが、フロントエンドでクリックすると index.php にリダイレクトされます。クエリをデバッグ ツールバーで見ると、(分類法)=(用語名) ではなく attachment=(用語名) になっています。wordpressがこれを行う理由を誰かが知っていますか? (または、より良い言い方をすれば、どのようにして wordpress にこれを実行させたのでしょうか?)

タクソノミの登録方法は次のとおりです。「arweb」は cpt で、「onderwerp」は通常の作業タクソノミです。

 add_action( 'init', 'register_custom_taxonomies' );
  function register_custom_taxonomies(){


    // ///////////////////// ONDERWERP //////////////////////
    $labels = array(
        'name'                       => _x( 'Onderwerpen', 'taxonomy general name' ),
        'singular_name'              => _x( 'Onderwerp', 'taxonomy singular name' ),
        'search_items'               => __( 'Zoek Onderwerpen' ),
        'popular_items'              => __( 'Popular Onderwerpen' ),
        'all_items'                  => __( 'All Onderwerpen' ),
        'parent_item'                => null,
        'parent_item_colon'          => null,
        'edit_item'                  => __( 'Edit Onderwerp' ),
        'update_item'                => __( 'Update Onderwerp' ),
        'add_new_item'               => __( 'Nieuw Onderwerp' ),
        'new_item_name'              => __( 'Naam Nieuw Onderwerp' ),
        'add_or_remove_items'        => __( 'Add or remove onderwerpen' ),
        'choose_from_most_used'      => __( 'Choose from the most used onderwerps' ),
        'not_found'                  => __( 'No onderwerps found.' ),
        'menu_name'                  => __( 'Onderwerpen' ),
    );

    $args = array(
        'hierarchical'          => true,
        'labels'                => $labels,
        'show_ui'               => true,
        'show_admin_column'     => true,
        'update_count_callback' => '_update_post_term_count',
        'query_var'             => true,
        'rewrite'               => array( 'slug' => 'onderwerp' ),
    );

    register_taxonomy( 'onderwerp', array( "arweb","post" ), $args );
        register_taxonomy_for_object_type( 'onderwerp', 'arweb' );

        ///////////////////// English onderwerp /////////////////////////////////////////////
        $labels = array(
        'name'                       => _x( 'Subjects', 'taxonomy general name' ),
        'singular_name'              => _x( 'Subject', 'taxonomy singular name' ),
        'search_items'               => __( 'Zoek Subjects' ),
        'popular_items'              => __( 'Popular Subjects' ),
        'all_items'                  => __( 'All Subjecten' ),
        'parent_item'                => null,
        'parent_item_colon'          => null,
        'edit_item'                  => __( 'Edit Subject' ),
        'update_item'                => __( 'Update Subject' ),
        'add_new_item'               => __( 'Nieuw Subject' ),
        'new_item_name'              => __( 'Naam Nieuw Subject' ),
        'add_or_remove_items'        => __( 'Add or remove onderwerpen' ),
        'choose_from_most_used'      => __( 'Choose from the most used onderwerps' ),
        'not_found'                  => __( 'No onderwerps found.' ),
        'menu_name'                  => __( 'Subjecten' ),
    );

    $args = array(
        'hierarchical'          => true,
        'labels'                => $labels,
        'show_ui'               => true,
        'show_admin_column'     => true,
        //'update_count_callback' => '_update_post_term_count',
        'query_var'             => true,
        //'rewrite'               => array( 'slug' => 'english-subject' ),
    );

    register_taxonomy( 'onderwerp_en', array( "arweb","post" ), $args );
        register_taxonomy_for_object_type( 'onderwerp_en', 'post' );
        register_taxonomy_for_object_type( 'onderwerp_en', 'arweb' );


} 
4

1 に答える 1

1

パーマリンクを更新してみてください ([設定] .. [パーマリンク] に移動して保存します)。URL が古い書き換えルールに一致している可能性があります。

于 2013-10-28T07:27:15.367 に答える