
ワテもいよいよWordPressプラグイン作者になったのだ。
先日以下の記事で紹介したワテ自作のWordPressプラグインであるが、その一つの「Wareko Header Auto Accordion」をWordPress.orgの公式サイトでプラグインとして無事に公開出来た。

当記事ではWordPressプラグインの作成方法や、公開するまでの手順を紹介したい。
では、本題に入ろう。
ワードプレスプラグインを作成する
VSCodeを使ってプラグイン開発
ワテの場合は、プログラミングは主にVisual Studioを使っている。
Visual Studio CodeつまりVSCodeはあまり使わないのだが、WordPressプラグインの開発に関しては、VSCodeを採用した。
その理由は、WordPressプラグイン開発ではWordPress本番環境にファイルをアップロードして動作確認する事が多いが、VSCodeならFTPが簡単に出来るから。
一方、Visual Studioの場合には、以前は拡張機能の中に個人作成のFTP関連のやつが幾つか有ったのだが、最近ではメンテナンスされていなかったり、削除されて見付からないものもある。
Visual StudioはファイルのアップロードはFTPよりもDeployと言うMicrosoft独自の方法が標準なので、FTP機能はあまり充実していないのかなと思うがワテの理解なので間違っているかもしれない。

図 VSCodeで開発中のWordPressプラグインのTypeScriptコード
今回公開したWareko Header Auto Accordionは文字通り、ワードプレスで作成した記事のヘッダー(h2とh3)を自動でアコーディオン化すると言う単純な機能だ。
どのような動作なのかは、このページにある緑色の見出し(h2)やその中にある小見出し(h3)をマウスクリックして頂ければ分かる。
その見出しの折り畳み/展開が行えるようになるのだ。
Wareko Header Auto Accordionプラグインの解説
Wareko Header Auto Accordionプラグインのフォルダ構成は以下の通り。
readme.txt wareko-header-auto-accordion.php css/wareko-header-auto-accordion.css js/wareko-header-auto-accordion.js
この場合、php/css/jsの3つのファイルで同じファイル名を使っているが、一般には任意の名前で良いと思う。ワテは単に分かりやすくするために全部同じ名前にしたのだ。
もちろんcssを使わないプラグインならcssフォルダもファイルも不要だし、同様にJavaScriptを使わないならjsフォルダもファイルも不要だ。
なのでワテの理解ではプラグインに必要なのは最低限 phpファイルとreadme.txtファイルかな。
wareko-header-auto-accordion.phpの中身は以下の通り。
<?php
/**
* Plugin Name: Wareko Header Auto Accordion
* Plugin URI: https://www.wareko.jp/blog/wareko-header-auto-accordion
* Description: headers(h2, h3) auto accordion
* Version: 3.0.0
* Author: Wareko
* Author URI: https://www.wareko.jp/blog/
* License: GPLv2 or later
* Text Domain: wareko-header-auto-accordion
*/
if (!defined('ABSPATH')) {
exit;
}
// プラグインのバージョンを一元管理する定数です
define('WAREKO_HEADER_ACCORDION_VERSION', '3.0.0');
add_action('wp_enqueue_scripts', function () {
$base_url = plugin_dir_url(__FILE__);
$js_path = plugin_dir_path(__FILE__) . 'js/wareko-header-auto-accordion.js';
$css_path = plugin_dir_path(__FILE__) . 'css/wareko-header-auto-accordion.css';
wp_enqueue_script(
'wareko-header-auto-accordion',
$base_url . 'js/wareko-header-auto-accordion.js',
[],
file_exists($js_path) ? filemtime($js_path) : WAREKO_HEADER_ACCORDION_VERSION,
true
);
wp_enqueue_style(
'wareko-header-auto-accordion',
$base_url . 'css/wareko-header-auto-accordion.css',
[],
file_exists($css_path) ? filemtime($css_path) : WAREKO_HEADER_ACCORDION_VERSION
);
});
WordPressのphpプログラミングは久しぶりなので文法を思い出すのに苦労した。
上のphpコードではワテ自作プラグインのjsファイルとcssファイルをWordPressの環境に読み込んで貰うために、add_actionと言う関数を実行している。
ワードプレスプラグインを公開申請する
無事に以下の4つのファイルが完成したら、wareko-header-auto-accordion.zipファイルにまとめる。
css/wareko-header-auto-accordion.css js/wareko-header-auto-accordion.js readme.txt wareko-header-auto-accordion.php
注意事項としてはcssやjsはminifyしてはいけない。難読化もやってはいけない。人間が見て分かるコードでないと、申請しても合格しないのだ。
それを知らずにワテはminify版を提出したので、一回目の申請では却下。
あかんがなw
無事にzipが完成したら、以下の申請サイトを開いてzipをアップロードすれば良い。
https://ja.wordpress.org/plugins/developers/
世界中の多くの人がアップロードするので常時数十件のプラグイン申請がレビュー待ち状態になっている。
でも数日以内に何らかの返事が来るので、その内容に応じて次のアクションを取れば良い。
今回は2回目の申請で、以下のメールが届いた。
Congratulations, the plugin hosting request for Wareko Header Auto Accordion has been approved.
Within one (1) hour your account will be granted commit access to your Subversion (SVN) repository.
要するにレビューした結果、正式プラグインとしての公開が承認されたのだ。
この時点で自動で世間に公開されるのかと思ったら、そうでは無い。
次のステップとしてはSVNというツールを使って自分でプラグインをWordPressのサイトにアップロードして公開する必要があるのだ。
ワードプレスプラグインを公開する
まずはTortoiseSVNと言うツールをダウンロードした。Gitみたいなやつらしいが、ワテ自身、Gitも十分には使いこなしていないので右も左も分からない。AIさんにアドバイスを貰いながら作業した。

図 TortoiseSVNをWindows11パソコンにインストール
次は、適当なフォルダを作成して、公開したいプラグインのファイルを保管する。
以下の作業フォルダを作成した。
"D:\MyWorks\WordPress\wareko-header-auto-accordion\"
このフォルダをWindows11のファイルエクスプローラーで開いて右クリックすると、TortoiseSVNのメニューが出るので、その中のサブメニューCheckoutを実行すると自動で以下のフォルダやファイルが生成された。
"D:\MyWorks\WordPress\wareko-header-auto-accordion\.svn" "D:\MyWorks\WordPress\wareko-header-auto-accordion\assets" "D:\MyWorks\WordPress\wareko-header-auto-accordion\tags" "D:\MyWorks\WordPress\wareko-header-auto-accordion\trunk"
その中のtrunkフォルダに今回作成したファイルを保管する(下図)。
"D:\MyWorks\WordPress\wareko-header-auto-accordion\trunk\css\wareko-header-auto-accordion.css" "D:\MyWorks\WordPress\wareko-header-auto-accordion\trunk\js\wareko-header-auto-accordion.js" "D:\MyWorks\WordPress\wareko-header-auto-accordion\trunk\readme.txt" "D:\MyWorks\WordPress\wareko-header-auto-accordion\trunk\wareko-header-auto-accordion.php"
次に、そのフォルダを指定してCommitを実行するとSVNで接続するためのユーザーIDやパスワードを求められるので入力する。
パスワードはWordPress.orgにログインするやつとは別にSVN用のパスワードが事前に発行されるのでそれを使えば良かった。
順調に行くと下図が出て、無事にコミット成功して、アップロードで来た。

図 TortoiseSVNでCommit成功
公開した自作プラグインを自分でインストールしてみる
プラグインをインストール
では、さっそくWordPress公式サイト
https://ja.wordpress.org/plugins/
を開いて、ワテ初のプラグインを検索してみたら見つかった。

図 ワテ初のプラグインWareko Header Auto Accordionを発見!
下図のように「今すぐインストール」を実行した。

図 Wareko Header Auto Accordionを自分のWordPressに入れる
なお、ワテの場合はWordPressのテーマにはCocoonを使っている。
下図のように無事にインストールに成功した。

図 Wareko Header Auto Accordionのインストール完了
試しに「詳細を表示」などクリックしてみたら下図のように表示されるし。

図 「詳細を表示」クリックした
ここで表示されている英文は、ワテが自力で書くのは時間も掛かるのでAIさんに協力して貰った。
プラグインを使ってみる
プラグインの動作に関しては、何度も実験しているので問題なく動作すると思う。
ただし、このプラグインはワテが使っているCocoonテーマの環境で開発したものだ。
世の中には多数のテーマがあり、それらを使うとh2やh3タグが必ずしもこのページのような体裁で表示されているとは限らない。
つまりこのワテのサイトではCocoonテーマのstyle.cssのデフォルト設定に加えて、若干だがh2やh3タグの見栄えを変更している。
具体的には、色合いやタグの左端開始位置や長さなど。
h2タグに関しては、文章表示域の左端から右端までなるべく広く表示している。
h3タグは左端は少しだけインデントしてh2より下げている。
これらの環境なら当プラグインは正常に表示されるが、他のテーマでは、恐らく表示が崩れる可能性が高い。
ただしその場合でもh2やh3タグをクリックした場合にはアコーディオン動作は行われるので、実用上は問題は無いと思う。
でもあまりにも表示が崩れる場合には、見た目が悪いので何らかの対策を行う予定だ。
いずれにしても、このプラグインを使っている人は現時点では世界でワテ1人なので、とりあえず100人くらいが使ってくれたら数件くらいはコメントが来ると思うので、その時に対処したい。
それと、ワテの場合はWordPressのクラッシックエディタを未だに使っているのだが、標準はブロックエディタ(Gutenbergエディタ)だ。
ブロックエディタで作成した記事であっても、h2やh3タグが有ればアコーディオン動作はするようにしている。
でも、もし動作しない場合には、使っているテーマを教えて頂きたい。
まとめ

ワテもいよいよWordPressプラグイン作家として全世界にデビューしたのだ。
ちょっと大袈裟か。
当記事では、ワードプレス用のプラグインの作り方や、公開するまでの手順を紹介した。
必要な手順は記事の通りだが、簡単にまとめるなら以下の3ステップになる。
- PHP, JavaScript, CSSなどを自作して目的とするプラグインを自作する
- それらをZIPファイルにまとめてレビューサイトへアップロード
- レビュー合格したらSVNツールを使って公式サイトでアップロード
と言う流れだ。
でも勘の良い人なら気づくと思うが、レビュー時に提出したプログラムとは別のプログラムを最終的にアップロードする事が簡単に出来てしまう。
つまり悪意のあるプログラムを公開出来てしまうのだ。
あるいは、悪意が無くても今後ワテがこのプラグインをバージョンアップする場合には、レビューのプロセスは無く、自由にアップロード出来てしまうので、うっかり間違いのあるプログラムをアップロードする危険性もある。
その結果、利用者さんに何らかの被害を与えるリスクがあるのだ。
と言う事で、ワードプレスのプラグインをインストールする場合には、利用者が10万人とかの実績があるやつを選ぶべき。
有効インストール数が10未満のような怪しいプラグインはなるべくは使わないほうがよい。
それはまさにワテのプラグインやがな。
と言うことで、怪しくても良いので試してみたい人は、ここからどうぞ。
感想、改善要望、その他何でもお知らせ下さい。
(つづく)


コメント