今回の記事では、無料WordPressテーマ:Stinger7の関連記事をカスタマイズする方法を紹介したいと思います。

カスタマイズ前の状態では同じカテゴリーの記事を5件関連記事として表示するようになっていますが、これをカテゴリーではなくタグから5件表示するように変更します。関連記事の表示件数についてはこの前書いたページがあるので、よかったら参考にして下さい。

Stinger7:関連記事の表示件数を変更する方法

カスタマイズ前

↓ 同じカテゴリの記事を関連記事として表示

stinger7-related-posts-num-before-1

カスタマイズ後

↓ 同じタグの記事を関連記事として表示

stinger7-related-posts-tag-after-1

※ 今回はPHPファイルを編集していきます。管理画面に入れなくなることもあるので、PHPコードは注意して編集して下さい。

1. kanren-thumbnai-on.php を編集

関連記事は kanren-thumbnai-on.phpkanren-thumbnail-off.php に書かれているので、関連記事の表示件数を変更する方法と同じように、...on.php...off.php の両方のファイルを編集していきます。

※ もし子テーマ内に kanren-thumbnai-on.phpkanren-thumbnail-off.php ファイルを作っていなければ、親テーマ(Stinger7本体)からコードを丸ごとコピペして、これらのファイルを作って下さい。

kanren-thumbnai-on.php の1行目から14行目に以下のコードがあるので

<div class="kanren <?php st_marugazou_class(); //サムネイルを丸くする ?>">
    <?php
    $categories = get_the_category( $post->ID );
    $category_ID = array();
    foreach ( $categories as $category ):
        array_push( $category_ID, $category->cat_ID );
    endforeach;
    $args = array(
        'post__not_in' => array( $post->ID ),
        'posts_per_page' => 5,
        'category__in' => $category_ID,
        'orderby' => 'rand',
    );
    $st_query = new WP_Query( $args ); ?>

これを下のコードで置き換えます。

<div class="kanren <?php st_marugazou_class(); //サムネイルを丸くする ?>">
    <?php
    $tags = get_the_tags( $post->ID );
    $tag_ID = array();
    foreach ( $tags as $tags ):
        array_push( $tag_ID, $tag->term_id );
    endforeach;
    $args = array(
        'post__not_in' => array( $post->ID ),
        'posts_per_page' => 5,
        'tag__in' => $tag_ID,
        'orderby' => 'rand',
    );
    $st_query = new WP_Query( $args ); ?>

2. kanren-thumbnail-off.php を編集

kanren-thumbnail-off.php についても、...-on.php と同じように編集していきます。

...-off.php の1行目から14行目に以下のコードがあるので

<div class="kanren">
    <?php
    $categories = get_the_category( $post->ID );
    $category_ID = array();
    foreach ( $categories as $category ):
        array_push( $category_ID, $category->cat_ID );
    endforeach;
    $args = array(
        'post__not_in' => array( $post->ID ),
        'posts_per_page' => 5,
        'category__in' => $category_ID,
        'orderby' => 'rand',
    );
    $st_query = new WP_Query( $args ); ?>

これを下のコードで置き換えます。

<div class="kanren">
    <?php
    $tags = get_the_tags( $post->ID );
    $tag_ID = array();
    foreach ( $tags as $tags ):
        array_push( $tag_ID, $tag->term_id );
    endforeach;
    $args = array(
        'post__not_in' => array( $post->ID ),
        'posts_per_page' => 5,
        'tag__in' => $tag_ID,
        'orderby' => 'rand',
    );
    $st_query = new WP_Query( $args ); ?>

違いが分かりにくいかもしれませんけど、ファイルを保存しページを更新すると、カテゴリーベースだった関連記事がタグベースに変わりました。今回はこれで完成です。

stinger7-related-posts-tag-after-1

Stinger7:関連記事の表示件数を変更する方法