web-dev-qa-db-ja.com

WP 3.1 - カスタムコンテンツタイプのページをプラグインなしでアーカイブできるようになりましたか?

WP 3.1には ' カスタムコンテンツタイプのアーカイブページのような新しいCMS機能 'があると思いましたが、まだ実装されていませんか?

私は「Simple Custom Post Type Archives」と呼ばれるプラグインを使ってカスタム投稿をurl http://www.domainname.com/custom-post-type/ で表示していましたが、in-を使いたかったそれを考慮して構築された機能は「今可能」です。

他の誰かが同じ問題を抱えていますか?

ありがとう

おす

PS。私は私のカスタム投稿タイプアーカイブページを試してスタイルを設定するためにarchive-custom_post_type_name.phpを使用しています

3
Osu

はい。カスタム投稿タイプを登録するときは、has_archiveパラメータをtrueまたは選択したスラッグに設定するだけです。

最初の投稿タイプにhas_archiveパラメータを追加しましょう。

add_action( 'init', 'question_10706_init' );

function question_10706_init() {

    register_post_type( 'example', array(
        'labels' => array(
            'name' => __('Examples'),
            'singular_name' => __('Example')
            ),
        'public' => true,
        'show_ui' => true,
        'rewrite' => array(
            'slug' => 'example',
            'with_front' => false
            ),
        //'has_archive' => true // Will use the post type slug, ie. example
        //'has_archive' => 'my-example-archive' // Explicitly setting the archive slug
    ) );

}

has_archiveパラメーターは以下の設定をサポートします。

  1. false(デフォルト)

    アーカイブなし

  2. true

    アーカイブURLは投稿タイプslugから作成されます

    www.example.com/example/

  3. 'string'

    アーカイブのURLは、指定したスラッグに明示的に設定されています

    www.example.com/my-example-archive/

パラメータを追加すると、パーマリンクページにアクセスします。これにより、書き換えルールが再生成され、カスタム投稿タイプのアーカイブが考慮されます。

最後に、そのアーカイブを処理するためのarchive-{$post_type}.phpテンプレートを作成します(それはあなたの既存のアーカイブのコピー - >貼り付けで、必要に応じて調整します).
{$post_type}はもちろんあなたの実際の投稿タイプのスラッグを表します。

情報源:

それが役立つことを願っています。 :)

13
t31os

はい、それは3.1で実装されています、register_post_typeに渡される引数がhas_archiveフラグをtrueに設定することを確認しなければなりません。 Codexページ を見てください。

また、パーマリンク設定ページにアクセスしてそれらを再送信する必要があるかもしれません。

1