質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

1回答

645閲覧

wordpress popular posts 表示順序の昇降 ソート

tex999

総合スコア4

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2022/06/17 13:59

編集2022/06/17 15:19

wordpress固定ページにて「wordpress popular posts」プラグインを使用した人気記事ランキングを表示させているのですが、
現状では上から順に1位〜5位の表示となっております。

これを上から5位〜1位のように順番を変えて表示させたいのですが、wordpress popular postsはそのような設定は無い模様です。
どうにかカスタマイズして表示させることはできますでしょうか?

現状はwordpressのブロックエディタからwordpress popular postsを追加して表示しています。
ショートコードのパラメータでも順位を逆にする方法がなかったので困っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2022/06/17 14:44

どのようにして、表示しているのでしょうか? ショートコードを記載しているのでしょうか? 表示している方法を質問に追記していただけないでしょうか。
tex999

2022/06/17 14:49

現状はwordpressのブロックエディタからwordpress popular postsを追加して表示しています。 ショートコードのパラメータでも順位を逆にする方法がなかったので困っています。
guest

回答1

0

プラグインのコードを編集する以外の方法だとかなり無理矢理な方法しかないかもしれないですね...

プラグインの Query class の中に wpp_query_order_by HOOK を使って、並び替え時の SQL 部分を変更できますので、wpp_query_order_by で、並び替え順を示す SQL を返してやれば無理やり変更することは可能です。

並び順を逆にするだけであれば、例えばこんな感じではどうでしょうか。

PHP

1add_filter( 'wpp_query_order_by', function( $orderby, $options = [] ) { 2 if ( $options['title'] == 'Popular Posts' ){ 3 return preg_replace( '/DESC/', 'ASC', $orderby ); 4 } 5 return $orderby; 6}, 10, 2 );

$options['title'] は、 WordPress popular posts の Title で判定しています。

他に影響が出ないように ショートコードやウィジェットのタイトルで判定しています。
ショートコードの場合は、 [wpp header='Popular Posts' ・・・]header で指定する値、
ウィジェットの場合は、Title に入力した値になります。
イメージ説明

投稿2022/06/18 10:06

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tex999

2022/06/18 21:26

すみません。こちらのコードを親テーマのfunctions.phpに追記するという認識でよろしいでしょうか?
CHERRY

2022/06/18 23:54

選択しているテーマのfunctions.php ですね。
tex999

2022/06/20 13:49

functions.phpにコードを追加してみましたが、順位に変わりはありませんでした。使用しているテーマを変更し再度コードを追記してみてもダメなようです。。。
tex999

2022/06/20 17:12 編集

失礼いたしました。ウィジェットのタイトルをPopular Postsに変更することで反映されました。しかし、ランキング内容が全く別のものに変わってしまいました。 おそらくランキング内容はソートされ最下位の記事から5件分のワーストランキングトップ5の表示になっているようです。 この状態から、最上位記事5件を表示させることは可能でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問