2017年9月28日更新

Stinger7:関連記事をカテゴリーベースからタグベースに変更する方法

Thumbnail

今回の記事では、無料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行目に以下のコードがあるので

PHP
コピーする
<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 ); ?>

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

PHP
コピーする
<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行目に以下のコードがあるので

PHP
コピーする
<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 ); ?>

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

PHP
コピーする
<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:関連記事の表示件数を変更する方法

Copyrights © WebCraftLogAll Rights Reserved.