【WordPress】Insert PHP Code Snippetで動的一覧
既存のサイトにMySQLを利用した一覧作成
既に公開中のWordpressのサイト。
とある一覧が手動で作られているが、
いちいち記事編集で表を調整するのが大変とのこと。
そこで独自にテーブルを作って、そこから一覧を編集する処理を作ることにした。
私はPHPはだいぶやっているが、実はWordpressのカスタマイズはロクにしたことが無い。
でも、MySQLでPHPの組み合わせは慣れているので、
Wordpressで手っ取り早く進めたい、ということでこの備忘録。
PHPプラグインプラグインを利用してみる
MySQLにテーブル作る話は省略する。
さて、コーディングしたいが、どこに記述するのかな?
既に存在する固定ページに一覧を表示したいのだ。
また、対象のサイトは今後、テーマが変更になるかももあり、
それで崩れる事態は避けたい。
探したところ以下のプラグイン発見
Insert PHP Code Snippet
ja.wordpress.org
Insert PHP Code Snippet の動作概要(ざっくりお試し)
PHPの処理をショートコード化し、それを該当箇所に張り付ければ良いらしい。
早速これを試すことにした。
インストールし、さっそくサイドメニューより「PHP Code Snippets」選択。
とりあえず試してみよう。記述はこんなおなじみのノリで良い。
一覧にこのようにショートコードが表示される。
記事にショートコード貼り付け
この記事をプレビューすると
GET変数を扱ってみる
検索機能を想定しているので、検索ボタンでGET送信して抽出する形で行こうかなと。
GET変数は下記のように取得&表示できる
URLにパラメータを付けてみれば
あっさり出た
この辺りはテーマや他のプラグインに左右されるかもしれないが、
特にひっかかることなくすんなりできそうだ。
登録データのメンテ画面とかもいずれ作るかもなので、
それはPOSTで作れそう。
DBから取得したデータを動的に表示
テーブルをMySQLに作成し、wp-db.phpを編集する、という準備をした前提で、
shiroajisashi.hatenablog.com
Insert PHP Code Snippet の動作確認を進めよう。
以下のようにデータを手入力した
そしてこのようにコーディング
実行結果
そして$_GET をつかって抽出もできる。
?test_key=5をパラメータに渡せば、
とりあえずやりたいことの動作確認はざっとできたので、
実際に作ってみるとしよう。