3

新しいカスタム投稿タイプを次のように登録します。

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 は引き続き発生します。他に何ができますか?

以下を試しました:

  1. options 配列publicly_queryableに valueを追加します (はすでに に設定されており、 のデフォルト値はの値と等しいため、必須ではありません) 。truepublictruepublicly_queryablepublic

  2. サブ配列with_frontに値trueを追加します ( * のデフォルト値は であるため、これも必須ではありません)rewritewith_fronttrue

  3. flush_rewrite_rules(false);後に追加register_post_type()

上記の試みはすべて効果がありません。キャッシュは既に無効化され、フラッシュされています。

参考質問:

4

2 に答える 2

0

この問題は、WordPress の構成または PHP の構成が原因ではありません。機能しない理由.htaccessは次のとおりです。私のApache仮想ホスト設定では、次の方法で無視するように構成されています.htaccess

AllowOverride None

このロックを無効にするには、仮想ホスト ファイル (sites-enabledフォルダー内)の値を次のように変更します。

AllowOverride All

その後、Apacheを再起動します。

于 2013-09-13T06:53:20.387 に答える
0

これをテストするために Chrome を使用している場合は、ブラウザのキャッシュが空であることを確認してください。Chrome メニューを使用してキャッシュを空にします。これは私を何度も噛んだ。キャッシュをクリアし、Chrome を終了して、サイトに再度アクセスします。

また、パーマリンクの変更を保存してもパーマリンク テーブルがフラッシュされないという問題がありました。通常の投稿タイプに戻すよりも、デフォルトの投稿 ID 投稿タイプに変更してください。

私の顧客ベースで遭遇したもう 1 つの問題は、パーマリンク ルールを強化する WordPress テーマです。正しく行わないと、カスタム投稿タイプが誤動作する可能性があります。Twenty Thirteen などのデフォルトの WordPress テーマを試してください。

他のすべてが失敗した場合は、WordPress 3.6 をクリーン インストールしたテスト サイトから始めて、カスタム投稿タイプを追加し、他には何も追加しません (テーマの変更や追加のプラグインはありません)。これにより、他のすべての変数が排除され、サーバーとシステムのルールに集中できるようになります. しかし、あなたはすでにそれを除外しているようです。

頑張ってください。自分で答えを見つけた場合は、忘れずに答えを共有してください。

于 2013-09-11T03:47:52.017 に答える