サポート » 使い方全般 » カスタム投稿のトップページを指定する

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター jim912

    (@jim912)

    カスタム投稿のディレクトリをURL指定された際に表示するページを指定

    現在は、ID順でもなく、投稿時間順でもなく、よくわかりません。

    どのような表示としたいのかよく分からないので、説明いただけますか?

    カスタム投稿タイプの登録を行う register_post_type の has_archive を true として指定しておくと、公開日の降順でのアーカイブ表示となります。

    トピック投稿者 umioyo

    (@umioyo)

    わかりにくくてすいません。
    普通の固定ページでしたら、表示設定からフロントページの指定ができますが、カスタム投稿においても、idなどで指定してフロントページを指定できないか、という質問でした。
    よろしくお願い致します。

    archive-custom.phpを作成すれば、希望通りの動きをするんじゃないでしょうか?
    そのページを管理画面から随時編集できるようにするには、工夫が必要になると思いますが。

    トピック投稿者 umioyo

    (@umioyo)

    すいません。不勉強でよくわかりませんが、archive-custom.phpというのは、custom用のアーカイブテンプレートということでしょうか。
    現在、
    http://www.example.com/custom/xxx1/
    http://www.example.com/custom/xxx2/
    http://www.example.com/custom/xxx3/
    http://www.example.com/custom/xxx4/
    と、ページがあるのですが、
    http://www.example.com/custom/
    にアクセスがあった際に、
    http://www.example.com/custom/xxx1/
    を表示させたいのですが、
    http://www.example.com/custom/xxx4/
    が表示されています。
    (リダイレクトしています。)

    試しにarchive-custom.phpを作成してみましたが、何も変わりませんでした。

    トピック投稿者 umioyo

    (@umioyo)

    customディレクトリを作り、.htaccessで、custom以下にアクセスがあった場合、
    http://www.example.com/custom/xxx1/
    にリダイレクトするように設定してみましたが、URLはあっていますがNotFoundになってしまいました。

    トピック投稿者 umioyo

    (@umioyo)

    ああ、意味がわかりました。
    has_archive を trueにしてアーカイブを有効にして、archive-custom.phpをあてるということですね。

    register_post_type('custom', array(
            'label' => 'カスタム',
            'menu_position' => 20,
            'public' => true,
            'supports' => array(
                'title', 'editor','page-attributes','custom-fields'),
            'capability_type' => 'page',
            'hierarchical' => true,
            'has_active' => true
        ));

    この状態で
    /custom/にアクセスすると特定のページにリダイレクトされます。
    ちょっとテンプレートの問題なのかよくわからないので調査します。
    ※ 他にもカスタム投稿を設定しているのですが、そちらはhas_activeの設定がなくてもアーカイブページが表示されています。

    モデレーター gatespace

    (@gatespace)

    has_archive を true にしたらWordPress内部のリライトルールを変えないといけないので、「パーマリンク設定」で何も変更しなくてもいいので、「保存」を押してデータベースと .htaccess を更新してみてください

    トピック投稿者 umioyo

    (@umioyo)

    そうでした。
    毎回忘れてしまいます。

    更新してみましたが、状況は変わらず、でした。
    一応解決方法というか、上の階層で
    http://www.example.com/custom/
    というページを作成し、
    http://www.example.com/custom/xxx1/
    にmeta jumpでリダイレクトさせたらうまくいったので、(あまり美しい方法ではないですが)とりあえずこれで対処します。

    functions.phpで対処できるのではないかと思ったのですが、そういう回答がなかったのでもともとそういう使い方を想定されていないのでしょう。
    一番現実的な方法がarciveページを作る、ということで承知しました。

    みなさまありがとうございました。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「カスタム投稿のトップページを指定する」には新たに返信することはできません。