Twenty Seventeenの記事一覧を記事タイトルのみにする



こんにちは。

ついにドメインを取得しました!

これからはtockn.comとしてやっていきます。よろしくお願いします。

初めてWordPressを使ったのですが、デフォルトのテーマ(Twenty Seventeen)、めちゃくちゃ良いですね。ハイパー好みです。

しかし幾つか気に入らないところが…。

今回はその中の1つ、記事一覧で本文全文も表示されちゃうところを、記事タイトルのみ表示されるよう変更していこうと思います。

これから紹介することを真似するのは、自己責任でお願いします。何かあっても僕は一切の責任を負いません…。万が一のために、必ずバックアップを取っておいてください。



themeフォルダを覗いてみよう

どうすればいじれるのか模索していると、/wp-content/themesというディレクトリを見つけました。中を覗くと、案の定今インストールされているテーマの情報が入っているディレクトリが見つかりました。

今回はTwenty Seventeenをいじるのでそれを覗くと、ヘッダーやフッターなど、それぞれのパーツを出力しそうなファイルがありました。

記事を出力するPHPを特定

その中のindex.phpを開いてみると、トップページを出力してそうなコードが!その65行目くらいから…


while( have_posts() ) : the_post();

........省略........

get_template_part('template-parts/post/content', get_post_format() );

........省略........

endwhile;

いかにも記事を出力しそうなループ文ですね。そしてその中の
get_template_part(‘template-parts/post/content’, get_post_format() );
これで実際に記事を出力するプログラムを呼び出しているようだ。どうやらtwentyseventeen/template-parts/post/にある、content.phpを呼び出しているようですね。早速覗いてみましょう。

content.phpの54行目から


<div class="entry-content">
<?php
/* translators: %s: Name of current post */
the_content( sprintf( __( 'Continue reading<span class="screen-reader-text"> "%s"</ span>', 'twentyseventeen' ),
get_the_title() ) );

wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', ' twentyseventeen' ), 'after' => '</div>', 'link_before' => '<spanclass="page-number">', 'link_after' => '</span>', ) );
?>
</div><!-- .entry-content -->

 

ここで本文全文を出力しているようです。

かといってここをコメントアウトしてしまうと、記事のページに飛んだ時も本文が表示されなくなってしまいます。どうしましょう…

やるべきことはこれ!

そこで、考えました

まずcontent.phpと同じディレクトリに、content-top.phpというファイルを作成して、中身をcontent.phpからコピペしましょう。

そして、content-top.phpから、先程載せた部分である54行目から69行目を削除(もしくはコメントアウト)しましょう。

次に、wp-content/themes/twentyseventeenに戻って、index.phpを開き、50行目あたりにある


get_template_part( 'template-parts/post/content', get_post_format() );

を、


get_template_part( 'template-parts/post/content', 'top' );

に書き換えましょう。

(近くに

get_template_part( ‘template-parts/post/content’, ‘none’ );

がありますが、これではありません。書き換えるのは

get_template_part( ‘template-parts/post/content’, get_post_format() );

です。)

これでトップページの記事一覧が、記事タイトルのみとなるはずです

さいごに

タイトルのみ表示されるように変更しましたが、少し寂しくなってしまいました。しかし、カスタマイズしていけば、どんどん良くなっていきそうです。

本文の一部を表示とかもできるんだろうな、もっといじってみよう!

それでは!