新しいカスタム投稿タイプを次のように登録します。
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を追加します (はすでに に設定されており、 のデフォルト値はの値と等しいため、必須ではありません) 。true
public
true
publicly_queryable
public
サブ配列
with_front
に値true
を追加します ( * のデフォルト値は であるため、これも必須ではありません)rewrite
with_front
true
flush_rewrite_rules(false);
後に追加register_post_type()
上記の試みはすべて効果がありません。キャッシュは既に無効化され、フラッシュされています。
参考質問: