ログインページをちょっと変えた!

Googleアカウントでログインできるプラグインを作り、しばらく運用してきたが、特に問題がなかったのでログインページをちょっと変えることにした。

具体的には「ID」と「パスワード」の入力ボックス、「ログイン」ボタンなどのログインフォームをとっぱらうこと。従来の表示への切り替えは、wp-config.phpの定数で変更できるようにしたり、ログインフォームが非表示の場合は「ID」と「パスワード」によるユーザー認証を不可にしたりといった対応をしています。

Googleアカウントでログインする際はそのボタン1つで十分だったので、今回ログインフォームを見えなくしたことで、見た目はかなりスッキリしました。

readme.txtのStable tagがチェックされるようになった!

公式ディレクトリにプラグインをいくつか公開しているのですが、最近readme.txtの「Stable tag」に記述されたバージョンがリポジトリの「tags」内に存在しない場合、コントリビューターに対してエラーを表示するようになっていました。今回WordPress 6.6のリリースに合わせてプラグインのreadme.txtの「Tested up to」を更新した際に気がつきました。。。

公開中のプラグインの「tags」内はこれまで空っぽだったので、順番に用意して行くことに。現状、公式ディレクトリへプラグインをアップロードする場合、Windows環境で「TortoiseSVN」を使用しているのですが、さっぱり方法がわからないので、チョロっと検索してみた。

「tags」を登録する方法はシンプルだった。プルダウンメニューを開き、「TortoiseSVN」-「Branch/tag…」を選択。「To path」欄のプラグインのURLの後に「/tags/(安定版のバージョン番号)」を追加し、「Create copy in the repository from」は「HEAD revision in the repository」を選択して、「OK」ボタンをクリックする。これだけでよかったのか。。。

数分後、プラグイン紹介ページをリロードすると、エラー表示はなくなっていました。この調子で、他のプラグインも更新していきます。

WordPress 6.6リリース!

WordPress 6.6が予定通りリリースされました。メジャーバージョンのコントリビューターリストに名前が載っていたは嬉しいことです。

最近、ちょっとした手違いで作っていたカスタムブロックを壊しまい、作り直しをしたのですが、機能的には以前のものと同等以上であっても微妙なところが違っていておもしろい感じです。

カスタムブロックについては自分なりに作り方のスタイルが固まってきたのもいい傾向だと思っています。attributesの項目が多くなりがちで、それにともないサイドのUIが肥大化しつつあるのが悩みどころ。もう少しシュッとコンパクトにまとめたい。

新しければいいってもんじゃないらしい……

今週はWordPress 6.6 Beta1、6.5.4が公開されました。手持ちの2サイトは順次6.5.4へ、開発環境もとりあえずは6.5.4へアップデートしました。

そんなこんなで気分一新し、新しいブロックでも作ってみようかと思い、「create-block」で新しいプラグインを作成。

このコマンドは、wp-content/pluginsディレクトリで実行するのが正解なわけだが、先にプラグインのディレクトリを作ってその中で実行しちゃいがち(その度にやり直してる)。

とりあえずプラグインのディレクトリへ移ってビルド。

プラグインを有効化し投稿編集画面を開いてみたが、作ったブロックが表示されない。なんで!?

投稿編集画面のHTMLソースを見ると、cssファイルはロードされているけど、jsファイルが見当たらない。思いついたことは試してみたが原因がさっぱりわからず昨晩は寝てしまった。

夜があけてXを眺めていると、「浜野さん」のポストを発見!

wordpress/scriptsがv28.0からReactの新しいJSXトランスフォームを使用するようになったのですが、これはWordPress6.5以下では動作しないので、ブロック開発でscriptsを使用していてWordPress6.5以下もサポートする場合は、scriptsのv27.9以下を使う必要があります

https://x.com/tetsuaki_hamano/

ということで、プラグインディレクトリのpackage.jsonを確認。確かに、「^28.0.0」になっていた。

  "devDependencies": {
    "@wordpress/scripts": "^28.0.0"
  }

「^28.0.0」を「^27.9.0」に書き換えて保存。wordpress/scriptsを再インストールして、もう一度ビルド。

投稿編集画面を開き直すと、無事ブロックが表示されました。


本件はWordPress 6.6 Beta1が公開され、それに合わせてwordpress/scriptsもアップデート。このタイミングで新しいブロック(プラグイン)を作成したことにより、生じたのでしょう。これからは、wordpress/scriptsのバージョンに注意しないといけませんね。

「Align widgets horizontally」公開できた

2月末に申請したプラグイン「Align widgets horizontally」をようやく公開できました。サポートチームとのやりとりが始まるまで1か月、サポートチームとのやりとりが1か月と、ちょっと手間取ってしまいました。

時間がかかった理由はいくつかあり、その1つはwordpress.orgのアカウントでgmailを使用していたこと。こちらのメールアドレスを本サイトのものに変更しました。

プラグイン本体(PHPファイル)のヘッダー部「Author URI」と「License」の記述漏れ。これらの項目は、これまで公開していたプラグインでも省略していたのですが、いつの間にか必須になったみたいです。

プラグイン本体のPHPファイルについてはもう1点、エスケープ処理が不十分だったところ。若干過剰に検知されているのではと思えなくもない指摘もあったのですが、一通り修正しました。

サポートチームとのやりとりは週一回だったので、時間がかかってしまいましたが、なんとか公開できてよかったです。

Windowsでtouch

ファイルのタイムスタンプを変更したくなった際、Windows環境でもLinux環境と同じようにtouchコマンドが使いたいと思うことがある。PowerShellでタイムスタンプを変更する場合は次のようなコマンド(スクリプト?)が使えるようだが、ちょっと長い感じ。

このことを検索している過程で、Visual Studio CodeでGithubと連携する際にインストールした「Git for Windows」には「bash」が同梱されており、このbashならtouchコマンドが普通に使えることを知った。

これで問題解決かと思ったのですが、このbashにはひと手間が必要で、インストールしたままだと日本語のファイル名が文字化けしてしまいます。

この問題の解決方法を検索したところ、ユーザーのホームディレクトリ(C:\Users\〇〇〇〇)に.bashrcファイルを作成し、その中に次のような内容を記述するといいらしい。

上記を保存し、bashを再度実行。lsコマンドの結果は次のように変わった。

.bashrcファイルの内容は、本来.bash_profileファイルに記載する内容として紹介するサイトを参考にしたものです。.bash_profileファイルを使用する場合は、bashの起動時のパラメータに「-l」を指定する必要があるため、ここでは.bashrcファイルに適用しました。

実際にtouchコマンドを使ってみます。

touchコマンド後、更新日時が変わっていますね。

さて、bash内ではフルパスの指定時に「/c」のようにドライブレターを先頭に指定する必要があるので、これには慣れが必要かもですね。

Align widgets horizontally

ダッシュボードのウィジェットを横方向に並べるプラグインです。

従来のダッシュボードでは、いくつかの列のエリアにウィジェットを配置するものでした。各ウィジェットの幅は統一される一方で、高さがバラバラに。これにより一番上段のウィジェット以外はずれがあり、見た目がスッキリしませんでした。

本プラグインは、ダッシュボードのウィジェットを横並びに変更し、見た目を一新します。さらに各ウィジェットは幅を調整できるようになっており、情報量の多いウィジェットについては段階的に幅を広げることも可能です。

主な機能

  • ウィジェットを横並びにし、各エリアごとに高さを統一します。
  • 各ウィジェットは上下左右に移動できます。
  • 各ウィジェットの幅は段階的に広げることが可能で、これまで難しかった情報量の多いウィジェットを表示できます。

サポート

「WordPress Contributor Meetup Tokyo @新宿」に行ってきた

この週末に「さくらインターネット」さんで開催された「WordPress Contributor Meetup Tokyo @新宿」に参加しました。久しくWordCampなどのイベントには参加していなかったので、ちょっと失敗でもありました。

私自身は、いくつかプラグインを公開していて、ときどき日本語翻訳を提案したり、不具合を発見した際はtracにポストしたりしています。この種のイベントは初参加ではありますが、それなりにコントリビュートしているのかと思っております。

今回のイベントに参加した目的ははっきりとは定めてはおらず、浜野さん、立花さんと少し話す機会があればいいなくらいでした。会場でお二方に会い、お話できたので、目的は十分に達成できてしまいました。参加されていた方々を見てみると、約1/3は初参加。ざっと見た限りMacbook Air/Proの利用者が多かったのですが、浜野さんがDellのノートPCを使っていたのがちょっと驚きです。

どんなイベントになるのかわかっていなかったのですが、トータルではかなり「もくもく」な感じでした。やんわりと翻訳、Core関連、Gutenberg関連のグループに別れ、淡々と手を動かします。翻訳グループのお着物の方、印象強めでした。

私の場合.orgのアカウントはあるのですが、Slackに参加していなかったのでまずはSlackに参加するところから。続いて、浜野さんに勧められて.orgアカウントとGithub連携を行い、ようやくスタート位置にたった感じ。いつかはGutenbergの開発環境を構築したいと思っていたのですが、このタイミングでやりかけてハマッてしまうことは避けたたっかので、今回は見送りに(ゴールデンウイークくらいをめどに、それまでは情報収集な方向で)。

感覚として、WordPressの「コントリビュート」はそんなに身構える必要はなく、気になることがあったらどんどんトライしていいと思っています。もちろんCoreやGutenberg関連のプログラム的な内容についてはできる範囲で検証することが前提です。あと「提案」はしばしば持久戦になります。提案者がすっかり忘れたころに反映されることもあったりするので、ちょっと寛容な気持ちが必要かもしれません。

会場(ドリンクも)をご提供していただいた「さくらインターネット」さん、あらためて感謝いたします。次回参加するまでにはGutenbergの開発環境を構築しておかないとですね。

WordPress 6.5無事リリース!

WordPress 6.5が予定より1週間遅れでリリースされました。今回はベータテスト時のバグ報告したこともあり、コントリビューターリストに名前が載ってます。

6.5では、プラグインの依存関係が指定可能になったり、翻訳ファイルのPHP化による高速化対応など、ブロックエディター関連以外にも機能強化されています。翻訳ファイルのPHP化は標準では実施されておらず、サイト管理者がwp cliやほかの対応ツールを利用することになり、後で試してみたいものです。

1つ申請中のプラグインはチェック待ちなので、そろそろ公開に向けて進んでほしいものです。

段落ブロックに計算支援を実装した

Autocompleteフィルターを使い段落ブロックで簡単な計算ができるようにしてみた。

「=」をトリガーにし、それに続く式を計算して、答えのみか、式と答えの組み合わせを選択する感じ。四則演算を対応した後でべき乗に対応した際、優先度を考慮しわすれてちょいはまり。定数としてはpi(π)とphi(φ)をサポートしてみました。

今回の対応でAutocompleteフィルターを利用したものを4種類。アイデアしだいでいろいろ実装できるのが楽しいフィルターですね。