書きたい記事を書きたいように書くFreeブログ

かきてぃーのプロフィールはこちらをクリック!

【AFFINGER4-カスタマイズ】ランダムに記事を取得してピックアップを作成する

 
  2018/06/24
 
スポンサーリンク
スポンサーリンク
この記事を書いている人 - WRITER -
かきてぃー
21歳に社会へ出て荒波に揉まれ逃げること数回。 2013年にネットビジネスに出会い色んなことに挑戦。無料ブログ系・物販アフィリエイト・ブログアフィリエイト。が、2度挫折し3度目再始動中。 現在の管理サイトはメイン4つのサブ20で合計24サイト運営しています。 主な稼ぎはWEBコンサルやHP制作、FXで月数十万の稼ぎです。 IT業界で学んだスキルを活かしたツールの紹介やテーマ・プラグインのカスタマイズ、実体験を元にした体験記事をメインに書いています。
詳しいプロフィールはこちら

本日は、トップページの記事一覧にピックアップ記事を作成しよう!

というのが目的になります。

※ピックアップ記事とは、記事全てからランダムに記事を検索して取得することである。

頑張って書いた記事がトップページから離れどんどん後ろにいってしまうのは仕方ないのですが、なんだか寂しいので今回のカスタマイズを行いました。

今回関連するファイルは

  • home.php
  • itiran-thumbnail-off.php
  • itiran-thumbnail-on.php
  • itiran-pickup.php

の4ファイルです。では早速カスタマイズ開始!

ちょっと今回は、説明がめんどうですが最後までお付き合い下さい。

「home.php」の確認

かきてぃー
記事一覧を取得している場所を探せ!

まずは、トップページのどこのロジックが記事一覧を取得しているのか解析を行いましょう。

「home.php」の61行目。

これですね。

その下には、ページナビとソーシャルボタンの読み込みが書いてありますね。

画面イメージだと、

こんな感じですね。

では、「itiran.php」が記事一覧を取得していることが分かったので、続いて「itiran.php」を確認してみましょう。

「itiran.php」は条件分岐のみ!実際にカスタマイズするファイルを探せ!

「itiran.php」を見てみると、何やら条件分岐が書いてあります。

条件分岐の結果で呼び出すテンプレートを分けているみたいですね。

呼び出される可能性があるテンプレートは

  • 「itiran-original-thumbnail-off」
  • 「itiran-original-thumbnail-on」
  • 「itiran-thumbnail-off」
  • 「itiran-thumbnail-on」

の4ファイルです。

では、どんな条件で分岐しているのか…

2行目…

アーカイブページ or 検索結果ページ or トップページかつ「トップページのコンテンツ内の新着記事一覧を非表示にする」が有効じゃなかったら

の3パターンだと記事一覧を取得しています。

「トップページのコンテンツ内の新着記事一覧を非表示にする」

っていうのは、AFFINGER4 基本管理画面のここの部分。

どれか一つでも条件が一致しなければ、記事一覧は取得されてないです。

次に

フロントページ or トップページだったら~

という意味です。

今回の目的はトップページにピックアップ記事を表示するので、ここはYESとなるはず。

4行目

は、

AFFINGER4 基本管理画面の「トップページ新着記事一覧に表示するカテゴリ(ID)を指定」が有効ならになります。

かきてぃー
!が付いているので、空白じゃなかったら~の意味なのです。

最後、5行目・11行目・18行目で使われているif文、

は、AFFINGER4 基本管理画面の「一覧のサムネイルを表示しない」が有効なら

となります。

かきてぃー
それで、有効の場合のテンプレートが「thumbnail-off」になっているんですね。

一通り、条件の解析が出来たところで、本題。

修正するテンプレートの選択は、皆さまがAFFINGER4 基本管理画面で設定した内容によって変わってきますね。

私の場合は、

  • トップページかつ「トップページのコンテンツ内の新着記事一覧を非表示にする」が有効じゃない
  • トップページ
  • 「トップページ新着記事一覧に表示するカテゴリ(ID)を指定」が有効ではない
  • 「一覧のサムネイルを表示しない」が有効ではない

のことから、

  • 有効じゃなかったら~ = ○
  • トップページだったら = ○
  • カテゴリID有効だったら~ = ×
  • 一覧サムネイル非表示有効だったら~ = ×

となるので、

「itiran-thumbnail-on.php」が呼び出されていることが分かりました。

かきてぃー
じゃあ、こいつをカスタマイズすればOKだな!

「itiran-thumbnail-on.php」をカスタマイズしてピックアップ記事をゲットしよう

いよいよ、目的ファイルにカスタマイズ出来るところまでたどり着きました。

ここでピックアップ記事を取得する前に決めておくことがあります。

それは、“何記事目にピックアップ記事を表示するか”ということ。

新着記事の上に表示したいのか、2記事目に表示したいのか、トップページの最後に表示したいのか。。。

かきてぃー
私は、2記事目が希望だったので2記事目を選択。

目的に合わせてカスタマイズする内容も変わってきます。

まずは、取得している記事数をカウントするロジックを書こう

このファイルでは2行目の

で1記事ずつ取得して、全ての記事を取得するまでループしています。

2行目のロジックは単純に記事情報を取得しているだけ。

6行目、17行目、18行目、23行目、30行目

などで記事情報にあるパーツをそれぞれ出力していますね。

で、34行目

までいったら、1記事目の取得が終わり2記事の情報をまた2行目から開始するわけです。

100記事あれば100回これを繰り返します。

なので、ピックアップ記事を2記事目に出力したいなら何記事目かをカウントしてif文を使えばいけそうですね。

まずは、サムネイルを丸くする判定(1行目のロジック)の下に記事数をカウントするロジックを書きます。

$post_counterに1を宣言(設定)しているだけです。

次に記事をループさせている

の下に2記事目だった場合の処理を書きます。

カウントが2になったら、ピックアップ用のテンプレートを取得するロジックです。

最後に、ループが終わる寸前に記事数のカウンタを増やします。

<?php $post_counter++; ?>

を入れないと、永久に1記事目~1記事目~を彷徨うことになるので注意して下さい。

では、試しに「itiran-pickup」というテンプレートを作成してトップページを表示してみます。

 

かきてぃー
お!ちゃんと2記事目にテンプレートの文字が表示されたね!

ただ、このままでは2ページ目にもピックアップ記事が表示されてしまいますので、2ページ目以降は表示させない設定を加えます。

4行目の2記事目だったら~のif文にページのif文を追記!

これで、2記事目以降はピックアップ記事を取得しなくなりました。

完成系

ピックアップ記事取得用テンプレートを作成しよう

かきてぃー
さあ!ここまでくれば、あと一息です!

ピックアップ用テンプレートは超絶簡単!

今、自分が使っている記事一覧取得用テンプレートをまるパクリします。

何もカスタマイズしていなければ、カスタマイズ前の『itiran-thumbnail-on.php』になります。

query_postsで条件を変えてしまいます。

まず、ピックアップ用テンプレートの1行目に

を書きます。

  • showpostsは何記事取得するか。
  • orderbyはどういう形式で取得するか。

ここでは、1記事取得のランダム(rand)となっています。

2行目以降は

と、『itiran-thumbnail-on.php』のテンプレートとほとんど同じロジックになります。

少し違うのが34行目。

ここにwp_reset_query();が追記になりました。

これがとても重要で、この記述がないと取得数やランダムの設定が残ったままになってしまいます。

リセットしないとこうなります…

かきてぃー
ええ!?全て同じ記事になってるやないか!!

つまり、1記事目は正常に取得できたけど、2記事目のピックアップ記事取得テンプレートを呼び出した瞬間、ランダム1記事取得の設定を残したまま続行してしまいます。

wp_reset_query();

は忘れずに記述して下さいね。

スポンサーリンク

完成系

トップページを更新する毎にランダムに記事が可変します。

showpostsを2,3…と増やしていけばその数だけ記事を取得するので、好きなだけ取得して下さい。

かきてぃー
ピックアップ記事を使えば、普段読まれない記事にも目を通してもらえる可能性が出てくるので管理人としては嬉しいカスタマイズなのです!
かきてぃー
それでは、本日もお疲れ様でした!
この記事を書いている人 - WRITER -
かきてぃー
21歳に社会へ出て荒波に揉まれ逃げること数回。 2013年にネットビジネスに出会い色んなことに挑戦。無料ブログ系・物販アフィリエイト・ブログアフィリエイト。が、2度挫折し3度目再始動中。 現在の管理サイトはメイン4つのサブ20で合計24サイト運営しています。 主な稼ぎはWEBコンサルやHP制作、FXで月数十万の稼ぎです。 IT業界で学んだスキルを活かしたツールの紹介やテーマ・プラグインのカスタマイズ、実体験を元にした体験記事をメインに書いています。
詳しいプロフィールはこちら
スポンサーリンク











コメントはこちらです

Copyright© 書きタレ , 2013 ~ 2017 All Rights Reserved.