web-dev-qa-db-ja.com

カスタム投稿の種類 "preview"が機能しない

私がかなりパーマリンクを有効にしている場合、私はカスタムの投稿タイプ "ドラフト"投稿プレビューがサイトのホームページにリダイレクトされるという問題を抱えています。

たとえば、新しい「プロジェクト」を作成して下書きとして保存し、プレビューをクリックします。サイトのホームページにプレビューウィンドウが開きます。

サイトのパーマリンクを 'default'に設定すると正しく機能します。

これは私が投稿タイプを登録するコードです。 register_post_type codexエントリ の 'publicly_queryable'セクションにあるメモによれば、 'query_var'(true/false/'projects')に異なる設定を試しましたが、違いはありませんでした。また、書き換え引数を編集したり、削除したりすることも試みました。立ち入り禁止。助けてくれてありがとう!

UPDATE:私はこれがうまくいったことを確認し、最近の更新で壊しました。 register_post_type codexページの「publicly_queryable」セクションに記載されている4.2.2への更新だったと思いますが、今まで誰も気づいていませんでした。

// Project
      $labels = array(
        'name'                => 'Projects',
        'singular_name'       => 'Project',
        'menu_name'           => 'Projects',
        'parent_item_colon'   => 'Parent Project:',
        'all_items'           => 'All Projects',
        'view_item'           => 'View Project',
        'add_new_item'        => 'Add New Project',
        'add_new'             => 'Add New',
        'edit_item'           => 'Edit Project',
        'update_item'         => 'Update Project',
        'search_items'        => 'Search Project',
        'not_found'           => 'Not found',
        'not_found_in_trash'  => 'Not found in Trash',
      );
       $rewrite = array(
        'slug'                       => 'projects',
        'with_front'                 => true,
        'hierarchical'               => true,
      );
      $args = array(
        'label'               => 'Project',
        'description'         => 'Individual Projects',
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'revisions', 'author'),
        'taxonomies'          => array( 'project_categories', 'project_sponsors' ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 20,
        'menu_icon'           => 'dashicons-clipboard',
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'page',
        'rewrite'                    => $rewrite,
       'query_var'              => 'projects',

      );
      register_post_type( 'projects', $args );
1
Michelle

あなたが提供したコードはWordPressの新規インストール(この場合4.3.1)で期待通りに動作します。以下の考えは、問題の範囲を狭めることによって問題をデバッグするのを助けるためのチェックリストとして、答えと見なされるべきではありません。

  1. 404やリダイレクトを回避するには、下書きを表示する権限を持つユーザーとしてログインする必要があります。

  2. プラグインを1つずつ無効にして、おそらく1つのプラグインが競合する書き換え規則を確立しているかどうかを確認してください。

  3. Webサーバーの設定(Apacheの場合は.htaccessなど)を調べて、そこにリダイレクト規則があるかどうかを確認してください。

  4. 最後に、一時的に別のテーマに切り替えてそこにカスタム投稿タイプを追加して、同じ結果が得られるかどうかを確認することを検討してください。新しいテーマがあなたのコードの問題を解決する場合、おそらくあなたの現在のテーマの中にすべての衝突が存在します。

1
dswebsme