WordPressテーマ「Twenty Twelve」を抜粋表示に

あまりコードを弄りたくはなかったのですが、やむを得ず・・・

このテーマは、検索表示の時だけ抜粋表示になり、それ以外は全文表示になります。
つまり、設定で表示記事数を1にすると、検索時の抜粋記事数も1になって表示が不自然だし、逆にトップページの表示記事数を10にすると、今度はトップページはおろかアーカイブもみんな10になるので、そうでなくても長い記事がとんでもない長さになってしまってました。

そこで「WordPress」のヘルプを見ながら2案考えました。

  1. 表示記事数設定に関係なく、アーカイブやトップページの表示記事数を1にする
  2. 基本的に全て抜粋表示にしてしまう

1案は「functions.php」に以下を追加すれば可能でした。

/**
 * Only one post at Main Query
 */

function one_posts_on_vivafancom_main( $query ) {
    if ( ($query->is_home() ¦¦ $query->is_archive()) && $query->is_main_query() ) {
        $query->set( 'posts_per_page', '1' );
    }
}
add_action( 'pre_get_posts', 'one_posts_on_vivafancom_main' );

でも、実際にやってみると、なんか操作が面倒くさいというか、何というか。
アーカイブなどを見た時、1ページずつページ送りしないと前後が見えないのが気に入りません。
そこで「functions.php」は元に戻して、2案をやってみる事にしました。

「content.php」の中程やや前に、主がいました。

<?php if ( is_search() ) : // Only display Excerpts for Search ?>

しっかりと書いてありますねぇ、検索の時だけ抜粋表示すると。
ここを、以下のように変更します。

<?php if ( is_search() ¦¦ is_archive() ¦¦ is_home() ¦¦ is_front_page() ) : // Display Excerpts w/o Post ?>

これで、指定した記事を表示しているとき以外は、抜粋表示になってくれています。
やっぱりこの方が良いですね。

 

コメントをどうぞ