いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。この記事は12月1日〜24日までに僕が毎日ブログを更新する高橋文樹俺ベントカレンダーの8日目の記事です。9日目ですが、1日の遅れをあと2週間のうちに取り返します。前回は$wpdbを使ってSELECTなんちゃらというクエリを発行し、WordPressのデータを取得してみました。ある意味、あなたはMySQLの持つ4つの側面のうち一つを学んだということになります。はて、4つとはなんでしょう。実はRDBMS(MySQLのようなリレーショナルデータベース管理システム)には、CRUDという言葉があります。(Delete)あなたが前回やったSELECTなんちゃらはこのうちのR(取得)に当たります。僕個人の感覚では、CRUDに割く労力は次のような感じです。Create10%Retrieve80%Update8%Delete2%要するに、うんうん悩むのは取得の部分で、他はそんなに難しくないんですね。バッチ処理でDeleteかけたらやたら遅くて1日たっても終わらないとかそういう苦労もあるにはあるのですが、やはり取得が一番悩みどころです。逆に考えると、CUDに関してはちゃちゃっと終わらせてしまい、Rに割く労力を確保した方がいいですね。前回作ったwpdb-test.phpに追記していく形にします。本当はサンプルサイトをインストールしてどうこうとか考えていたんですが、若干酔っ払っていて辛いので。データを追加してみようそれでは、データを追加してみます。いい投稿を1つ選び、その投稿のIDを突き止めてください。僕はとりあえずローカルにインストールされているWordPressの投稿を選んでみました。投稿IDは13640ですね。投稿一覧でマウスオーバーするとIDが見えるそれでは、この投稿にカスタムフィールドを追加してみましょう。カスタムフィールドはwp_postmetaというテーブルに保存されています。カスタムフィールドは重複を許すので、同じようなデータを追加できます。今回はmy_wpdbというキーで、「できた!」という値を追加してみましょう。メンバー変数としてアサインされてます。返り値を表示してみるvar_dump($result);多分、画面には1と表示されたかと思います。この1は何かというと、変更された行ですね。1行追加されたので1と返ってきているわけです。裏を返せば、データの作成に失敗すると0が返ってくるということですね。結果を見るために該当する投稿の編集画面を開いてみましょう。すると、カスタムフィールドに値が追加されているのがわかります。wpdb-test.phpを4回ぐらいリロードしてみてください。すると、カスタムフィールドがずらっと増えています。insertメソッドは引数として、テーブル名、カラムと保存する値からなる配列、サニタイズ用の配列を取ります。二番目の配列はテーブル構造を照らし合わせてみると、「ああ、そういうことね」というのがわかりますね。無害化サニタイズ用の配列については、明日以降で説明するので、「そういうものがあるのだな」程度に思っていてください。投稿を更新それでは、CRUDの3つ目、更新をやってみましょう。先ほどの投稿IDのタイトルを変更してみます。);wpdb-test.phpを開いてみると、タイトルが変わっているのがわかるかと思います。対して変わらないんですよ。カスタムフィールドを削除さて、先ほど追加したmy_wpdbというカスタムフィールドなのですが、特に使い道がないので削除してしまいましょう。array('%s'));どうでしょう、投稿編集画面のカスタムフィールドから、さきほど追加した値が全部消えたんじゃないでしょうか。まとめMySQLのようなデータベースにはCRUDという概念があり、あなたはそれを一通り試したさて、一通りの機能はやってみましたが、まだまだ。バスケットボールで言えば、バッシュの履き方を覚えたようなものです。次回はWordPressのテーブル構造を見ながら、目的とする機能を実現するためのデータベース構造設計を試みます。LinkふみちゃんねるYoutube動画「ふみちゃんねる」を更新しています。土地を買い、コツコツと開拓しています。当サイトの人気コンテンツ。日いい曲だけど名前は知らない2013年から2019年にかけて破滅派で発表された掌編から選りすぐりのものを集めました。最近はWebの技術を学びつつ、これからの文芸に何が出来るのかを模索しています。高橋文樹が最近の活動報告、サイトでパブリックにできない情報などをお伝えするメーリングリストです。滅多に送りませんので、ぜひご登録お願いいたします。お得なダウンロードコンテンツなども計画中です。その他このサイトについて小説家が自ら情報を発信するブログ高橋文樹は日本の小説家です。DIYなど、様々な取り組みをこのブログで紹介していきます。遅れたが、幼い頃の冬の夜についての記憶。日タイトルを思いついてからすぐに書き始めたが、発表の機会がなかった。日ある夜、私は妻に起こされた。子供達が怖がっているという。2020が新型コロナウィルス(COVID-19)の影響によって中止となった。[...]GoDaddyがGutenberg最適化テーマGoをリリースホスティング企業最大手のGoDaddyがブロックエディターに最適化されたテーマGoをリリースした。このテーマはGithub上で宣言されている通り、GoDaddyユーザー(go-getters)用に作られたものである。既存の社会制度の中で生き、それを享受してきた人間にとって、そのシステムに期待するものが何もなかった者たちが、格別恐れもせずにその破壊を試みる可能性を想像することはおそらく不可能なのだ。