サポート » 使い方全般 » カスタム投稿タイプのアーカイブURLに配したindex.htmlの挙動

  • こんにちは。

    いつも先輩諸兄のすばらしいコードを参考にさせていただいております。

    現在、WordPressによるパーマリンク設計でどうしても超えられない壁があり質問させてください。

    ☆やりたいこと:

    →カスタム投稿タイプで作成したmusicというpost typeで記事を作成し、
    postnameでindex.htmlという名前にし、カスタム投稿タイプ(/music/)へのアクセスで、
    music/index.htmlを読ませながらも、index.htmlを表示させない

    というものです。

    現在、カスタム投稿タイプの設定で、functions.phpへの記述は下記のようになっています。

    register_post_type(
    'music',
      array(
      'label' => '私の楽曲',
      'hierarchical' => false,
      'public' => true,
      'query_var' => false,
      'menu_position' => 100,
      'has_archive' => false,
      'supports' => array('title','editor','author','thumbnail')
      )
    );

    上記の設定では、「has_archive」をfalseにしているので、アーカイブページは作られず、
    現状のままでは、

    hogehoge.com/music/ へアクセスすると → page not found

    hogehoge.com/music/index.html へアクセスすると → 表示

    となります。

    もしかしたら、このようなカスタム投稿タイプ管理下では、musicディレクトリから
    index.htmlを探して、省略して表示という機能がそもそも働かせられないのかもしれないと思ったのですが、可能性が他にないかお聞きしてみたいと考えました。

    アドバイスいただけると嬉しいです。

    P.S. カスタム投稿タイプのパーマリンク設定は、プラグイン「Custom Post Type Permalinks」で下記のように設定しています。

    http://www.hogehoge.com/music『/%postname%.html』
    has_archive: false / with_front: true

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • WordPressの投稿は、ディレクトリにファイルとして作られるのではなく、データベースに投稿内容が登録されます。そして、URLの指定に応じてデータベースから投稿を読み出して表示します。

    さて「記事を作成し、postnameでindex.htmlという名前にし」というのは、記事(投稿)のスラッグをindex.htmlになさったのでしょうね。しかし、実際にはindex.htmlというファイルがありませんので、「musicディレクトリからindex.htmlを探して」という処理は行われません。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カスタム投稿タイプのアーカイブURLに配したindex.htmlの挙動」には新たに返信することはできません。