新しいカスタム投稿タイプを次のように登録します。
register_post_type('abcd_film',
array(
'labels' => array(
'name' => __( 'Films' ),
'singular_name' => __( 'Film' )
),
'description' => 'Manage the Films',
'supports' => array( 'title', 'editor', 'custom-fields', ),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'films'),
)
);
私のWordPressは(ダミーリンク)にあります:
www.example.com/folder/wordpress/
私のパーマリンク設定は(「投稿名」オプション)です:
www.example.com/folder/wordpress/%postname%/
ただし、カスタム投稿タイプ「Films」の下に投稿名「Apple」の新しいカスタム投稿を作成すると、リンクに404 File Not Found が表示されます。この.htaccessファイルは WordPress で書き込み可能で、現在 WordPress で書き込まれているコンテンツは次のとおりです。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /folder/wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder/wordpress/index.php [L]
</IfModule>
# END WordPress
で再確認しましphpinfo()たが、mod_rewrite()モジュールは「ロードされたモジュール」セクションにあります。また、WordPress のパーマリンク設定を更新してみましたAdmin > General > Permalink > Save Changes。
404 Not Found は引き続き発生します。他に何ができますか?
以下を試しました:
options 配列
publicly_queryableに valueを追加します (はすでに に設定されており、 のデフォルト値はの値と等しいため、必須ではありません) 。truepublictruepublicly_queryablepublicサブ配列
with_frontに値trueを追加します ( * のデフォルト値は であるため、これも必須ではありません)rewritewith_fronttrueflush_rewrite_rules(false);後に追加register_post_type()
上記の試みはすべて効果がありません。キャッシュは既に無効化され、フラッシュされています。
参考質問: