サポート » テーマ » 投稿ページ(single.php)を生成(表示)させない

  • 解決済 robocon150

    (@robocon150)


    投稿をお知らせに使っているのですが、一覧の表示(archive.php)だけでよいために、それぞれの投稿ページは必要ありません。この場合、投稿ページを生成させないようにしたいのですが可能でしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 投稿ページ自体を生成させなくする方法は分かりませんが、投稿ページへリンクしなければ良いのではないでしょうか。
    ただ、archive.phpや、index.phpなど様々な箇所から投稿へのリンクがあると思いますので、カスタマイズする箇所は多いかもしれません。

    twentysixteenでは、archive.php、index.php、search.phpなどからtemplate-parts/content.phpを読み込んで使っているので、テーマによっては一箇所をカスタマイズすればほとんどの箇所に反映できるかもしれません。
    しかし、ウィジットやプラグインで投稿へのリンクを表示している場合はそれらをどうするのか、という問題は残ってしまいますが。

    twentysixteen template-parts/content.phpの場合の変更例
    <?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>

    <h2 class="entry-title"><?php the_title() ?></h2>

    こんな方法はどうでしょう(検証はしていません)

    1. カスタム投稿タイプを使うように変える。
    2. そのカスタム投稿は「アーカイブなし」「検索から除外」に設定。
    3. テーマの single-{投稿タイプのスラッグ}.php の中で 404.php へリダイレクトする
    トピック投稿者 robocon150

    (@robocon150)

    ご回答ありがとうございました。
    やはりズバリの解決策はないみたいですね。。

    投稿ページへリンクさせない、というのは1つの方法ですが、何かの拍子に検索エンジンにインデックスされてしまうのが怖いんです。(リンクがなければクロールされることはないので大丈夫だと思いますが・・)

    カスタム投稿を使う、というのもちょっと面倒なので、single.phpは404.phpへリダイレクトする、というのがベターなのかもしれないですね。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「投稿ページ(single.php)を生成(表示)させない」には新たに返信することはできません。