【WordPress】 「WordPress Related Posts」の関連記事の出力内容を変更する

【WordPress】 「WordPress Related Posts」の関連記事の出力内容を変更する

Published on Feb 20, 2019 by hana

post-thumb

関連記事を表示するときに便利な「Wordpress Related Posts」ですが、基本的には設定からいろいろ変更できるので、あまり使うこともなさそうですが、今回はちょっと出力内容を変更したかったのでメモ。

変更する箇所を探す

まず、変更する箇所を探します。

「pluginsフォルダ」→ 「wordpress-23-related-posts-plugin」内 → init.php

295行目あたり wp_rp_generate_related_posts_list_items

508行目あたり wp_rp_get_related_posts

の関数で出力内容が記載されてそうです。

なにかしらhookがあればいいのですが、見当たらなかったので、functions.phpにコピペで変更してみました。

変更方法

1. 設定の確認・変更

まず「Wordpress Related Posts」の変更をします。

管理画面「設定」 → 「Wordpress Related Posts」

「Advanced Settings」の中の「Auto Insert Related Posts」のチェックを外して、表示する箇所に手動でタグを入れるようにします。

2. プラグインファイル内の該当箇所をコピー

「pluginsフォルダ」→ 「wordpress-23-related-posts-plugin」内 → init.php

にある、

function wp_rp_generate_related_posts_list_items($related_posts, $selected_related_posts, $post_categories) {
〜 省略
}
function wp_rp_get_related_posts($before_title = '', $after_title = '') {
〜 省略
}

部分をまるまるコピーします。

3. functions.phpに該当コードを貼り付けます。

「2.」でコピーしたコードを、自身のテーマ内のfunctions.phpに貼り付けます。

4. 関数名を変更します。

このままだと関数名重複?でエラーが出るので、

関数名を適当に変えます。

function my_wp_rp_generate_related_posts_list_items($related_posts, $selected_related_posts, $post_categories) {
    〜 省略
}
function my_wp_rp_get_related_posts($before_title = '', $after_title = '') {
    〜 省略
}

5. 関数内のコードを変更します。

「4.」でfunctions.php追加した関数の、

my_wp_rp_get_related_posts内のコードを一部変更します。

$related_posts_lis = wp_rp_generate_related_posts_list_items($related_posts, $selected_related_posts, $post_categories);

で、プラグイン内のwp_rp_generate_related_posts_list_itemsを読み込んでいるので、functions.phpに追加したmy_wp_rp_generate_related_posts_list_itemsに変更します。

// functions.phpに追加したmy_wp_rp_generate_related_posts_list_items
function my_wp_rp_generate_related_posts_list_items($related_posts, $selected_related_posts, $post_categories) {
    〜 省略

// $related_posts_lis = wp_rp_generate_related_posts_list_items($related_posts, $selected_related_posts, $post_categories);
// ↓ 変更
$related_posts_lis = my_wp_rp_generate_related_posts_list_items($related_posts, $selected_related_posts, $post_categories);

〜 省略

}

3. コードを変更します。

これで変更する準備ができたので、

自身のテーマ内のfunctions.phpに追加した関数内に、出力内容があるので、変更したい部分を変更します。

4. テーマ内の関連記事を表示したい箇所にコードを追加

自身のテーマ内の関連記事を表示したい部分に、表示するためのコードを手動で追加します。

デフォルトでは、手動追加用のコードは、

<?php wp_related_posts(); ?> 

ですが、

上の「2.」でfunctions.phpに追加した記述の方で表示したいので、変更した関数名で記述します。

<?php echo my_wp_rp_get_related_posts(); ?> 

まとめ

今回は、試しに、

全体のmy_wp_rp_get_related_posts

li内のmy_wp_rp_generate_related_posts_list_items内にテキストをそれぞれ追加してみました。

あと、日付をタイトルの下に出力するように。

imgとタイトルと別々についてるリンクを、li内全体にかかるように変更してみました。

ちゃんと変更が反映されてました!

あとは、CSSでスタイルを整えればよさそうです。

client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo client-logo