サポート » 使い方全般 » カスタム投稿タイプでnothing found(404)になってしまいます

  • カスタム投稿タイプで2つのカテゴリを設定しており
    そのうちのひとつが公開にすると404表示されます。

    まずソースです。
    add_action( ‘init’, ‘domesticproduction’ );
    add_action( ‘init’, ‘foreigncountry’ );

    //国産
    function domesticproduction() {
    register_post_type(
    	'domesticproduction',
    	array(
    		'label' => '国産',
    		'hierarchical' => false,
    		'public' => true,
    		'query_var' => false,
    		'rewrite' => true,
    		'supports' => array(
    			'title',
    			'editor',
    			'thumbnail',
    			'custom-fields'
    		)
    	)
    );
    flush_rewrite_rules( true );
    }
    
    register_taxonomy(
    	'domesticproduction',
    	'domesticproduction',
    	array(
    		'label' => '国産カテゴリ',
    		'hierarchical' => true,
    	)
    );
    
    //外国産
    function foreigncountry() {
    register_post_type(
    	'foreigncountry',
    	array(
    		'label' => '外国産',
    		'hierarchical' => false,
    		'public' => true,
    		'query_var' => false,
    		'rewrite' => true,
    		'supports' => array(
    			'title',
    			'editor',
    			'thumbnail',
    			'custom-fields'
    		)
    	)
    );
    flush_rewrite_rules( true );
    }
    
    register_taxonomy(
    	'foreigncountry',
    	'foreigncountry',
    	array(
    		'label' => '外国産カテゴリ',
    		'hierarchical' => true,
    	)
    );

    国産は最初404になっていましたが
    flush_rewrite_rules( true );の一文を追記することで
    公開後も表示されるようになりました。

    しかし外国産は404になってしまいます。

    以下現在の状況をまとめさせていただきます。
    -----------------------------
    ・投稿を表示ボタンを押したときのアドレスはそれぞれ下記のようになっています。
     domesticproduction/title
     foreigncountry/title
     つまり階層は同じです。

    ・パーマリンク設定をクリックするとhtaccessがリセットされるとの記事をみて
     クリックしてみましたが変化はありませんでした。

    ・国産、外国産ともに公開前のプレビューでは正常に表示されます。

    ・テンプレートは個別に設定しています。
     single-domesticproduction.php
    single-foreigncountry.php
    -----------------------------

    このような状況です。

    最悪の場合サイト全体をルートフォルダに再インストール使用かとも
    考えています。(パーマリンクが関連していそうな感じもするので)

    些細なことでもかまいません
    お心当たりがありましたらご教示のほどお願い申し上げます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 試してみると良いかもしれないこと:

    1. add_action( 'init', 'domesticproduction', 0 );
    のように優先順位を 0 に指定する。

    2. 国産、外国産ともに post_type と taxonomy のスラッグが同じなので、
    異なるスラッグに変更します。
    例)
    国産カテゴリ:domestic_category
    外国産カテゴリ:foreign_category

    3. flush_rewrite_rules( true ); は書かずに、
    カスタム投稿タイプやカスタム分類を追加・変更したときは
    管理画面[設定|パーマリンク設定]を開いて、[変更保存]ボタンをクリックします。

    スレッド開始 eiowq87mv23k

    (@eiowq87mv23k)

    kzさんありがとうございます!

    ご教授いただいた1を実施しテスト→404
    そのまま2の変更を加えテスト→正常に表示されました!

    今夜徹夜覚悟のwpごと再インストール&一から再構築も考えておりましたが
    おかげさまで無事解決できました。
    自分自身taxonomyの理解がまだまだということもわかり
    今後精進したいと思います。

    本当に助かりました!ありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタム投稿タイプでnothing found(404)になってしまいます」には新たに返信することはできません。