web-dev-qa-db-ja.com

固定リンクがpostnameに設定されている場合に404​​を生成するカスタム投稿タイプ投稿のタグアーカイブ

カスタムの投稿タイプ「news_updates」がありますが、カスタムタグやカテゴリは指定していません。ただし、通常のタグ(カスタム投稿タイプには添付されていません)を作成し、それを特定のnews_updates単一投稿に割り当てました。投稿を表示すると、タグがタグリストに表示されます。

しかし、私はパーマリンクを%postname%に設定していますが、このタグを割り当てられたすべての投稿、または任意のタグを見つけようとすると404エラーが発生します。私がパーマリンクをデフォルトに設定したとき、これは問題ではなく、タグアーカイブはうまく戻ります。

タグの名前が私のカスタム投稿タイプや分類法のどれにも近いところにないため、パーマリンクの設定を前後に変更して更新し、flush_rewrite_rulesを試してみました。パーマリンクをデフォルトに戻す以外に何もうまくいきませんでした。

これが私のカスタム投稿タイプのコードです。私は自分の投稿タイプや分類法を作成するためにプラグインを使用していません。

function custom_post_news_updates() { 
// creating (registering) the custom type 
register_post_type( 'news_updates', /* (http://codex.wordpress.org/Function_Reference/register_post_type) */
    // let's now add all the options for this post type
    array('labels' => array(
        'name' => __('News Update Posts', 'jointstheme'), /* This is the Title of the Group */
        'singular_name' => __('News Update', 'jointstheme'), /* This is the individual type */
        'all_items' => __('All News Update Post', 'jointstheme'), /* the all items menu item */
        'add_new' => __('Add New', 'jointstheme'), /* The add new menu item */
        'add_new_item' => __('Add New News Update', 'jointstheme'), /* Add New Display Title */
        'edit' => __( 'Edit', 'jointstheme' ), /* Edit Dialog */
        'edit_item' => __('Edit News Update', 'jointstheme'), /* Edit Display Title */
        'new_item' => __('New News Update', 'jointstheme'), /* New Display Title */
        'view_item' => __('View News Update', 'jointstheme'), /* View Display Title */
        'search_items' => __('Search News Update', 'jointstheme'), /* Search Custom Type Title */ 
        'not_found' =>  __('Nothing found in the Database.', 'jointstheme'), /* This displays if there are no entries yet */
        'not_found_in_trash' => __('Nothing found in Trash', 'jointstheme'), /* This displays if there is nothing in the trash */
        'parent_item_colon' => ''
        ), /* end of arrays */
        'description' => __( 'This is where News and Updates posts go.', 'jointstheme' ), /* Custom Type Description */
        'public' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'show_ui' => true,
        'query_var' => true,
        'menu_position' => 4, /* this is what order you want it to appear in on the left hand side menu */ 
        'menu_icon' => get_stylesheet_directory_uri() . '/library/images/custom-post-icon.png', /* the icon for the custom post type menu */
        'rewrite'   => false,//array( 'slug' => 'news-updates', 'with_front' => false ), /* you can specify its url slug */
        'has_archive' => 'news-updates-archive', /* you can rename the slug here */
        'capability_type' => 'post',
        'hierarchical' => false,
        /* the next one is important, it tells what's enabled in the post editor */
        'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', /*'sticky'*/)
    ) /* end of options */
); /* end of register post type */

//these both make it so the custom post type can use the global categories and tags
/* this adds your post categories to your custom post type */
register_taxonomy_for_object_type('category', 'news_updates');
/* this adds your post tags to your custom post type */
register_taxonomy_for_object_type('post_tag', 'news_updates');
} 


add_action( 'init', 'custom_post_news_updates');

任意の助けをいただければ幸いです。私は検索しましたが、役に立ちませんでした。

1
Josh Burson

私のfunctions.phpに浮遊flush_rewrite_rules()がありました、それをコメントアウトしてすべてが正常に動作するようにしました。そこから私はちょうどアーカイブページにカスタム投稿タイプの投稿を含める必要がありました、la http://css-tricks.com/snippets/wordpress/make-archives-php-include-カスタム投稿タイプ/

0
Josh Burson

以下のように書き換えの名前を付けてみてください。

'rewrite' => array(
    'slug'       => 'news-updates-archive',
    'with_front' => true,
    'feeds'      => false,
    'pages'      => true,
)

それであなたはどんな問題も避けます。

また、最後に使用した機能は不要です。あなたはそれをregister_post_typeに設定することができます。

'taxonomies' => array('post_tag', 'category'),

シモンズ:あなたのゴミも空にしてみて、あなたのカスタム投稿タイプ名が重複していないか再確認してください。時にはそれがエラーです。

1
Leo Caseiro