第2回 群馬 WordPress Meetup レポート

第2回 群馬 WordPress Meetupに一般参加&登壇したので、簡単にレポートを記します。

LT大会

1. あってよかったリカバリーモード

高木 光

  • こんな経験ありませんか?
    • サイトが壊れた!
      • ネットのコードコピペしたら
      • プラグイン更新したら
      • etcetc.
  • WP5.2からリカバリーモード追加
    • エラーを起こしているプラグイン・テーマを自動停止してサイト復旧する機能
  • 流れ
    1. サイトを開くとエラーメッセージが表示される
    2. 管理者宛てにエラーメールが送られる
    3. メール内のリンクからリカバリーモード用のログイン画面に
    4. エラーを起こしたプラグインの情報が出る
    5. 止めると復旧
    6. ログアウトするとリカバリーモード終了
  • メリット
    • 真っ白にならずエラーページが表示される
    • 管理者画面にログインできる
    • エラー画面もカスタマイズ可能
    • 詳しくない人も復旧のハードルが下がる
    • 何行目で、という情報も出るので対処に役立つ
    • アップデートのハードルを下げる
  • 注意点
    • 管理者宛のメールアドレスをきちんと設定する必要がある
    • 対象はテーマ、プラグイン
      • Must-useプラグイン、ドロップインなどは対象外

所感

WP5.2で追加された「リカバリーモード」についての分かりやすい解説。標準でこういった機能が追加されることはありがたいと感じました。

一方で、管理者メールアドレスにリカバリーモード用ログイン画面のURLが送付されるので、きちんと設定しておかなければならないと思います。

例えば、リカバリーモードを騙るフィッシングメールや、逆に管理者メールアドレスをどうにか細工してリカバリーモードのログイン画面を奪取しようとする攻撃も起こり得るのかな、と感じました。

3. Gutenberg で「かんたん入力機能」! ~さよなら入力補助としてのカスタムフィールド~

よしあかつき

  • 「決められた項目を入力するだけ」をブロックエディタで
    • 今までカスタムフィールドを使って実現
    • 「Block Lab」を使ってみる
  • カスタムフィールド
    • Advanced Custom Fields
    • Smart Custom Fields
  • 作り込み
    • 管理画面
      • プラグイン設定
    • 表示画面
      • テーマのカスタマイズ
      • 入力と表示が密なので管理画面を改修するとテーマの改修も必要に
  • ブロックエディタにブロックとして用意したい
    • だけどReact.jsが……
    • Block Labを使う
      1. プラグインの設定画面でブロックを定義
      2. テンプレートを作成
      3. テンプレートファイルを作成
      4. block_fieldで入力値を表示
    • 追加されたブロックを使用できる
    • 入力項目を簡単に入れるには使えそう
  • 感想
    • PHPのカスタマイズができればブロックを作ることができる
    • 簡単に入力したいだけ、の解決策としては良いのでは?
      • 決められたフォーマットの他に、前後にブロックを入れることができるのでカスタムフィールドよりも柔軟に対応できる可能性
    • 入力値によって条件分岐は不向き?(未検証)
    • ブロックマネージャと併用でさらに編集しやすく

所感

カスタムフィールド的にカスタムブロックを追加できるプラグインの紹介。今までのようにユーザに入力させるフォーマットを指定したい、とりあえずカスタムフィールドをブロックで置き換えたい、といった要望にはこれで十分答えられるのではないかと感じました。

4. プラグインを自作しました

MizukiImai

  • カテゴリーアーカイブページへのリンクの一覧を表示するプラグイン
    • 縦表示や件数表示もできる
  • 全体を覆うラッパーdivや、ul, li, aなど各要素に細かくクラス指定が可能

所感

実務的で、嵌まるとすごく使えそうなプラグインだと感じました。特に眼前に同じようなことをやりたい、と考えていたので参考になりました。

5. 実務におけるプラグインの有効活用

家富 正幸

  • こんなことありませんか?
    • 構築済みのWPサイトを改修
      1. テーマを直接改修
        • メリット
          • 手間はかからない
        • デメリット
          • 本体がアップデートされると対応できなくなる
          • 不具合が発生したときに責任範囲が不明確に
      2. 子テーマを改修
        • メリット
          • 親テーマのアップデートに対応できる
          • 責任範囲が切り分けられる
        • デメリット
          • カスタマイザーなどの設定がリセットされる
          • ウィジェットも再設定も必要
    • 機能に関してはテーマではなくプラグインで対応する
      • テーマの設定は消えない
      • オン/オフで作った機能について不具合を切り分けられる
    • template_includeフィルタ
      • 第一引数$templateにテンプレート名
        • テンプレートのフルパスを入れるとそのテンプレートが使用される
    • 任意のcss / JSを読み込ませる
      • enqueue系統を使うとエラーになるのでinitアクションを使って利用
      • enqueue系統を使って読み込まれているファイルは(一般的なテーマならば)差し替えできる
    • 固定ページのテンプレートを追加
      • theme_page_templatesフィルタを使う

所感

既存サイトのテーマに手を加えず、プラグインから操作してしまうというトリッキーのようで実はありがちな課題への解決策。

この手法を使って自分のサイトに手を入れてみようかな、と構想をくすぐられる内容でした。

自分のLT

ちなみに自分はこんな内容で話をしました。Githubとかの説明に時間を割いたせいで結構長めに喋ってしまいました……。

プラグイン座談会

プラグインについて、「こんな場合はどのプラグインを使う?」といった内容についてざっくばらんに話し合いました。

他個人ブログの運用の仕方や引っ越しの際のトラブルなど、様々なケースについて話が出ていました。

懇親会

今回も懇親会に参加。よりざっくばらんに色々な話をしました。

二次会

二次会はあるある話で盛り上がりました。

この記事を書いた人

アバター

アルム=バンド

フルスタックエンジニアっぽい何か。LAMPやNodeからWP、gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。