Archives 2020.04.22

Tweets for 2020-04-21

  • WTI原油価格下げ止まらず 一時マイナスを記録: https://t.co/cVGgQbaMvl ->
  • 大恐慌下でのオレンジが輸送中に値下がりして儲けがなくなるから農場内で石油かけて燃やしてたらしく、今の原油先物もその感じなのかなあ。 ->
  • 帳票文化は日本だけじゃなくて、アメリカ・ヨーロッパも普通に伝票とか使ってるからな。インボイスって聞いたことないか? ->
  • QRコードと電送カンバンにより膨大な紙の削減を可能にしたのはトヨタだぞ。あと前職、一部役員が「紙ベースだからネットワーク停止しても動かせる」とかほざいてたが、大口顧客からはEDIで基幹サーバに直接発注データが送り込まれて現業の作業データを生成してたからな。 ->
  • RT @uni_A_summer: 財界の著名人も https://t.co/8PjHUnYzJ2 ->
  • RT @montparpiroshki: 冷凍ピロシキの特設通販サイトができました。
    クレジットカード決済もできるようになりました。ご自宅の保存食として、またご家族ご友人へのプレゼントにもご利用くださいませ。
    https://t.co/Jv7lXFm6zC https://t.… ->
  • パルナスのピロシキを継承したモンパルナスのドメインがピロシキ ドットコムでつよい。デザインは時代を感じるが。
    https://t.co/aKiRUkG3zQ https://t.co/rZdcLH6wFM ->
  • パナソニックもクリーンルームが空いてるんだな… パナソニックもマスク生産。N95マスクの寄付やクリーンルーム提供も – Impress Watch https://t.co/phToToyZ1d @impress_watchさんから ->
  • 新居のネット回線も無事、キャンセルからの変更で開通日も連絡があったので一区切り。 ->
  • RT @Tulipman_18: 女の子だからって、なめんなよ! https://t.co/VzFxz2c3gd ->
  • RT @nikuato_oniku: ぬりえ https://t.co/8zSt6lPiM9 ->
  • RT @mindcreator: Shopping #FF7R https://t.co/bzevXJAQqx ->
  • RT @ceramic06: 自分の全身を久しぶりに見た https://t.co/EwRTHoXfUC ->
  • RT @MKf8u89tF90MUzu: 戦車道試合後の移動中に居眠りしてしまった逸見エリカ https://t.co/lAWk4WtkF6 ->
  • RT @hxh_m_: 🦋 https://t.co/RYxAySSQEM ->
  • RT @mishiki: 文学の「評論」や「批評」がアニメへ持ち込まれることの問題というの、少なくとも藤津さんより下の世代は必ず持ったはずなんだけど、それをアクセスのしやすさというところからちゃんと解題していくのは面白い。記事のタイトルが煽ってないのもまつもと先生らしくてよい。… ->
  • 日本も経済活動再開デモとか経団連さん、やらないんですかね。 ->
  • 労働法違反は罰則付きで企業名公表があるので、防疫においても可能では?(可能だが対象の線引きと範囲が違いすぎる) ->
  • このクソややこしいときに、色々な省庁の手を焼かせる案件が続々と出てくるのまさに終戦近くの混乱という感じがするな。 ->
  • RT @shine_sann: マスク配給を受注した会社の数、厚労省が公表したのは3社で90.9億円、報道では4社と5社ってのがあって予算がそもそも466億円だったはずなので、これ今までのパターンからすると全社と予算額と配布したマスクの数が明らかになると不正が発覚するやつですよ… ->
  • 5月以降、IKEAいけるかな… ->

WP-CLIのスキャフォルドを使う

スキャフォルド、Ruby on Railsとか他のWEBフレームワークでお馴染みのものです。 WordPressはコアでなくWP-CLIで提供されています。

投稿タイプとタクソノミーを作るのは、一から書いても流用しても割と手間のかかるものですが、WP-CLIのスキャフォルドを使うと素早く雛形が作れます。

この記事では主に下記3つのスキャフォルドの説明をします。

あと、Gutebergブロックのスキャフォルドもできます。

今回、WP-CLIのインストール方法は割愛します。

プラグインのスキャフォルド

まずカスタム投稿タイプやタクソノミー、カスタムフィールドを設定するプラグインを用意します。

wp scaffold plugin add_post_type --skip-tests

オプションでプラグイン名を予めセットしたり色々機能がありますが、プラグインとして最低限動けばいいのでテストユニットもなし、スラッグだけ設定します。
投稿タイプ、タクソノミーを設定するぐらいなら、テストユニットはおそらく出番がないです。

これで、add_post_typeというプラグインの雛形ができました。

投稿タイプのスキャフォルド

投稿タイプの定義はテーマとプラグインのどちらでも行えますが、今回はプラグインで行います。
サンプルとして「プログラミング言語」という投稿タイプを作ります。

wp scaffold post-type language --label="programing language" --plugin=add_post_type

add_post_type プラグインフォルダ内に post_types フォルダと language.php が生成されました。

プラグインの add_post_type.php は空っぽなので、生成した language.phpを読み込むよう実装。

require_once dirname( __FILE__ ) . '/post-types/language.php';

プラグインを有効にすると投稿タイプ「プログラミング言語」が使えます。

表示文言とか全部、テキストドメインを利用する多言語対応の形式で設定されています。
日本語表示にしたい場合はpo/moファイルを作るか、こんな感じで書き換えても表示されます。
上記画面では、このように書き換えてテキストドメインを利用せずに日本語表示をしています。

タクソノミーのスキャフォルド

先に実行したのと同様に「プログラミング言語」投稿タイプに「型付け」タクソノミーを設定してみます。

wp scaffold taxonomy typing --post_types=language --label="typing" --plugin=add_post_type

投稿タイプと同様にadd_post_type.phpにtyping.phpを読み込むように記述します。

require_once dirname( __FILE__ ) . '/tasonomies/typing.php';

注意 予約語について

タクソノミーなどに使える単語には制約があります。

WordPressの予約語
WordPressコアが提供する機能に重複するスラッグを使うとエラーが発生したりレスポンスが404になります。
今回は「typing」なので問題ありませんが、「型だからスラッグは『type』にしよう」とやるとエラーで動きません。
タクソノミーには予約語があることは念頭に入れておくと良いでしょう。

「プログラミング言語」投稿タイプを使う

下記のようにタクソノミーの階層性を True にすると「投稿」に対する「カテゴリー」のように扱えます。

'hierarchical' => true

「プログラミング言語」投稿タイプと「型付け」タクソノミーを利用した投稿サンプルです。テーマはWordPress 5.4デフォルトのTwentyTwentyです。

このように投稿タイプとタクソノミーの設定が素早く確実にできます。
数多くの設定項目やラベルをコマンド1つでセットしてくれるのは便利です。

ぜひスキャフォルドを活用してください。