7のイベントを再登録するWindows7/8/10でRustを別ドライブに展開する際のTIPSPHP+SQLでMySQLのInnoDBのテーブルに複合キーかつ連番のINSERTを実装するネイティブなPHPでselectタグやradioボタンの選択状態をどう表現するかエンターキーによる入力項目のフォーカスの移動をWeb系システムに実装してみるCattleMute>WordPress>固定ページ・最近の投稿のウィジェットをカスタマイズ2017.09.08固定ページ・最近の投稿のウィジェットをカスタマイズ最近、そろそろこのブログのデザインに飽きてきたので、リニューアルのためにテーマをWordPressの根本に還って作り始めている。このテーマを作ったのは2016年の初頭~夏先にかけてくらいだったっけ?まぁ、このころは「フラットデザインいいな~」とか思っていたけど、今となってはありふれすぎてしまったので「代わり映えしないな~」というのが今の感想。日本のサイトのデザインは海外と比べて2~3年遅れているとか昔からよく言われていることだし、遅れたものに合わせて制作していては制作期間中に一番美味しいときが過ぎ去ってしまうわけで。(旅行以外で海外行ったことない俺が言っても説得力ないけど)あとは当時はワンオフ型のサイトを主として制作していたので、現在の作業の途中、改めて2016年版のコードを見返してみたが「既存のテーマを魔改造したのを更にカスタマイズしたの丸わかりじゃん」と今の印象。どれだけテーマを魔改造して痕跡を消しても見る人が見ればちゃ~んとわかっちゃう不思議。「おバカなコードが多いな~」というのが、過去の自分を振り返っての自分へのダメ出しだ。思えば、この頃はまだPHPのclassは使えれど、楽だからということでほぼfunctionを多用した手続き型のコーディングをやっていたね。プラグインを作るとわかるけど、やっぱりPHPはクラスと関数を使い分けてこその言語。両方共できるのでPHPの原文や大本の使い方に近いコーディングを行うWordPressは、特にクラスと関数の使い分けって大事だと思う。過去の振り返りとご高説(草)と皮肉は置いとくとして、本題に移ろう。modellaxでフリー配布のテーマと、今回のリニューアル用のテーマを作ってるときに「固定ページ」と「最近の投稿」のウィジェットに手を入れたかったので、WordPressのソースコードをGithubを漁って調べてみた。具体的にやりたかったこととしては、以下。「固定ページ」ウィジェットの大本のulタグにスタイルシート用のidやclassを挟みたい。「最近の投稿」ウィジェットで記事タイトル→投稿日付となっているところを投稿日→記事タイトルの順で表示したい。Githubのソースコードを、ウィジェット呼び出し用のPHPクラス名で調べたらすぐ分かった。オープンソースってすごいね。分かっただけでは自己完結なので、ここからソースコード貼ります。今回はテーマのfunctions.phpに挿入する形でコードを追加しますが、自分みたいにクラスと関数がひとつのPHPファイルに混在するのが嫌な人は適宜ファイルを分けましょう。}WP_Widget_PagesをWP_Widget_Pages_Overrideに継承してメソッドwidgetを書き換える。}WP_Widget_Recent_PostsをWP_Widget_Pages_Overrideに継承してメソッドwidgetを書き換える。以上の2つをテーマのfunctions.phpに差し込み。実行しなければ意味が無いので以下のコードを更に追加する。'theme_wp_widget_override');以上で今回のお題はノーコンテニューでクリアすることができる。今回は固定ページと最近の投稿だけど、同じような要領で他のウィジェットもカスタマイズできるはず。カテゴリWordPressこの記事のコメントコメントはないです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。