WordPressに申請したプラグインにOKが出たので、公式ディレクトリにアップロードしました。
その際の手順を備忘録として残します。
Subversionをインストール…しない
WordPressのプラグイン公式ディレクトリにアップロードするには、Subversionというgitのようなツールが必要です。
mac OS 10以上であればもともと入っているらしく、私のMBPにも入っていました。
入っていない場合はインストールが必要です。こちらから▼
https://subversion.apache.org/packages.html
Subversionで公式ディレクトリにアップロードする
手順としては、
- ローカルで管理する場所を作る
- このファイル管理するよー(変更したよー)というお知らせをする
- リモート(公式ディレクトリ)にプッシュする
gitもまったく使いこなせていない私ですが、コマンドのイメージとしては
git commit が svn add で、git push が svn commitなのかな?という感じです。
ローカルリポジトリを用意する
どこでもいいのでローカルでmkdirしましょう。
$ mkdir my-local
リモートをcloneする
公式ディレクトリ(リモートリポジトリ)からフォルダなどをクローンしてきます。
公式ディレクトリのURLは、[WordPress Plugin Directory] プラグイン名 has been approved!という件名のメールに記載があります(件名は変わるかもしれません)。
こんなURLですね▼
https://plugins.svn.wordpress.org/プラグイン名
git clone は svn coです。check out だそう。
$ svn co https://plugins.svn.wordpress.org/プラグイン名 my-local
これで先ほど作ったローカルディレクトリmy-localに、
- assets
- branches
- tags
- trunk
というフォルダと.svnという隠しフォルダが入っているのが確認できると思います。
隠しフォルダは ⌘ + shift + . で表示・非表示の切り替えができます。
プラグインのデータをローカルに移動
readme.txtやphpファイルなどすべてのデータをmy-local/trunkの中に入れます。コマンドもあるんだろうけど私は手動でコピペしました。
package.jsonやnode_moduleなど、管理下に起きたくないファイルは svn ignore というコマンドがあるらしいです。
が、今回のプラグインはほぼphpで作ったためこのステップは飛ばします。
ではここでmy-local/trunkのステータスを確認!
$ cd my-local
$ svn status
? trunk/README.txt
? trunk/admin
? trunk/languages
? trunk/public
? trunk/plugin-name.php
? trunk/uninstall.php
??????
そうです。まだ何このファイル?状態です。
svn add で管理下に置きましょう。
$ svn add trunk/*
ステータスを確認!
$ svn status
A trunk/README.txt
A trunk/admin
A trunk/admin/plugin-name-setting.php
A trunk/admin/plugin-name.php
A trunk/languages
A trunk/languages/plugin-name-ja.po
A trunk/languages/plugin-name-ja.mo
A trunk/public
A trunk/public/style.css
A trunk/public/app.js
A trunk/plugin-name.php
A trunk/uninstall.php
すべてのファイルがaddされました。
バージョンを設定する
次に、tagsディレクトリの中にこのデータを丸々コピーして、バージョンをタグ付けします。
$ svn cp trunk tags/1.0.0
次のバージョンを出すときも同じようにして、tagsの中にはバージョン名のフォルダと、その中にそのバージョンのデータが入るようになっています。
つまりこんな感じです。
リモートにアップロードして公開!
いよいよ最終段階です。
リモートにpushしましょう。ちなみにsvnではcommitまたはci(check in)です。
$ svn ci -m "Adding first version"
-mオプションはmessageで、gitでいうcommitのときのメッセージみたいなものでしょうか。
1度目のcommitでは、使用しているコンピューターのパスワードが聞かれます。
Password for 'Me':
そして、次にWordPress.orgのユーザー名とパスワードです。
Username: Me
Password for 'Me':
そのあとAddingされて、
Transmitting file data ....done
Committing transaction...
Committed revision 1234567.
となればOKです(数字はその時々で異なります)。
公式ページを確認してみよう
きちんとアップロードされたか公式ページを確認してみましょう。
URLは https://wordpress.org/plugins/plugin-name です。(plugin-nameにはプラグインの名前を)
まだ画像を設定していないので、WordPressが自動でつけてくれています。
このページが表示できたら、WordPressの管理画面からプラグインを追加することができるようになっています。
(ちなみにMAMPで開発しているのですが、ローカルで出なかったエラーが本番で出てしまいかなり詰まりました。MAMPじゃない方が良いのかなぁ..)
ヘッダー画像、アイコン画像を追加する
画像サイズと画像の名前には規定があります。こちらを参照▼
これらをmy-local/assetsに入れます。
そして svn add と commit します。
$ svn add assets/*
$ svn commit -m "Adding images"
これで完了です!
バージョンアップする方法
まずは、データのバージョンを変更します。
<?php
/*
*Plugin Name: Plugin Name
*Plugin URI: https://wordpress.org/plugins/plugin-name
*Description: Plugin's description
*Version: 1.0.1
*
*
*/
README.txtのchange logも追記しておきましょう。
バージョンアップは、svn update で行います。
新しいバージョンのデータをmy-local/trunkに入れて、
$ svn update trunk/*
新バージョンをtagsにコピーしてタグ付けします。
$ svn cp trunk tags/1.0.1
そしてコミット。
$ svn ci -m "message"
これで、WordPressの管理画面から更新ができるようになっています。
以上です。