WordPressに関するメモ書き。
からのつづき。
SWELLのブロックパーツ「投稿リスト」を使ったときの記事の並び順を「五十音順」にしたい。
そこで修正箇所のあたりをつけるべくSWELLのソースコードをGREP。
候補を以下の通り絞り込んだ。
ファイル一覧
- .//classes/SWELL_THEME/Parts/Post_List.php
- .//classes/Legacy_Widget/SWELL_Popular_Posts.php
- .//classes/Data/Default_Settings.php
- .//archive-term.php
- .//parts/top/post_slider.php
- .//parts/single/related_post_list.php
- .//parts/home_content.php
- .//lib/customizer/top/post_slider.php
- .//lib/customizer/single_page/after_article.php
- .//lib/gutenberg/block/post-list.php
- .//lib/hooks/admin_display.php
- .//build/blocks/post-list/index.js
- .//author.php
- .//tmp/popular.php
- .//src/gutenberg/blocks/post-list/block.json
順番にテキストエディタで開いていき目視。
このファイルは違うな、こっちも関係なさそう…と繰り返す中、ひとつのファイルが気になった。
それが
index.js
index.js だ。
気になった箇所はここである。
const p=
[
{label:"新着順",value:"date"}
, {label:"更新日順",value:"modified"}
, {label:"人気順",value:"pv"}
, {label:"ランダム",value:"rand"
}
]
, R=
[
{label:"降順",val:"DESC"}
, {label:"昇順",val:"ASC"}
]
投稿画面でブロックパーツ「投稿リスト」を選択したときに、右側サイドバーの「ブロック」欄にでてくる設定項目の内容そのものだった。
const p の連想配列に
, {label:"五十音順", value:"gojuon"}
と追記してあげれば良さそうな気がする。
…
ただ、今回は見送ることにした。
今回の目的は
- 投稿リストの並び順に「五十音順」を追加したい
ではなく
- 投稿リストの並び順を「五十音順」に変更したい(ほかの並び順が使えなくてもよい)
だからだ
フロントの制御をいじらずとも、バックの処理さえ書き換えてしまえば目的は達成できる(はず)
であれば「index.js」を触る必要はないだろう
(追記ここから)
index.js と一緒に「block.json」も修正が必要そう(な気がする)
{
"apiVersion": 2,
"name": "loos/post-list",
"title": "投稿リスト",
"category": "swell-blocks",
"keywords": [
"swell"
],
"supports": {
"anchor": true,
"className": false
},
"example": {
"attributes": {
"showDate": "1",
"pcCol": "2",
"catPos": "none",
"listCount": 4
}
},
"attributes": {
"className": {
"type": "string",
"default": ""
},
"listType": {
"type": "string",
"default": "card"
},
"order": {
"type": "string",
"default": "DESC"
},
"orderby": {
"type": "string",
"default": "date"
},
},
"textdomain": "swell"
}
(追記ここまで)
改造するためにソースを修正すればするほど管理することが増える。
管理対象は最小限にしたい。
投稿リストの並び順が五十音だけに固定されてしまう。
よりも
投稿リストの並び順で「五十音順」も選べる。
ほうが、いいに決まっている。
いずれは挑戦したい。
なのでブログに顛末をまとめておくことにした。
いまは「五十音順に変更したい」の実現方法を最短で見つけるため先に進みます。
(つづく)
コメント