SlideShare a Scribd company logo
1 of 48
Download to read offline
©	
  WordBench	
  Miyazaki	
  	
プラグイン公開までの道のり
WordBench宮崎
ver.1.0.0	
 【WordBench宮崎勉強会】
©	
  WordBench	
  Miyazaki	
  	
⾃自⼰己紹介
2	
  
⾼高⾒見見  和也(Takami Kazuya)
h6ps://twi6er.com/miiitaka	
  
h6ps://www.facebook.com/miiitaka	
  
株式会社アラタナ
フロントエンドエンジニア
WordPress と JavaScript が友達です。
h6ps://github.com/miiitaka	
  
©	
  WordBench	
  Miyazaki	
  	
ハッシュタグ
3	
  
#wbmiyazaki
©	
  WordBench	
  Miyazaki	
  	
アジェンダ
4	
  
p  どんなプラグインを作ろう?	
  
p  プラグイン制作時のポイント(気をつけること)	
  
p  プラグインの翻訳に挑戦	
  
p  公開準備	
  
p  公開!	
  
p  公開後のお楽しみ	
  
©	
  WordBench	
  Miyazaki	
  	
さてさて
5	
  
どんなプラグインを作ろう?
©	
  WordBench	
  Miyazaki	
  	
まずはどういうプラグインを作ろうか考える
6	
  
◆プラグインのアイデア
などなど。まずは作るものを設計するところから始めます。
-  普段仕事でよく使う機能をプラグイン化。
-  公開されているプラグインではできない、かゆいところに⼿手が届くもの。
-  サードパーティ製品と連携できるようなプラグイン。
-  Web API と連携するプラグイン。
©	
  WordBench	
  Miyazaki	
  	
⾼高⾒見見が作ってみた例例
7	
  
◆⾼高⾒見見が公開したプラグインの例例
l  きっかけ → HTML5 Experts.jp で記事を書かせてもらった。
https://html5experts.jp/miiitaka/17128/
-  JSON-LDの出⼒力力を⾃自動化できないかな?
-  @type 毎に定義(ルール)は決まっているし作りやすいんじゃないか?
-  投稿ページや固定ページ、場合によってはカスタム投稿で定義できそう。
-  なにより作ることでGoogleの知識識が深まりそう。
これをプラグインにできないかな? (・_・ )
©	
  WordBench	
  Miyazaki	
  	
Let’s Programming !!
8	
  
作ってみた
©	
  WordBench	
  Miyazaki	
  	
Markup  (JSON-‐‑‒LD)  structured  in  schema.org
9
h6ps://wordpress.org/support/plugin/wp-­‐structuring-­‐markup	
  
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
10	
  
プラグイン制作時のポイント
(注意点)
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
11	
  
/wp-content/plugin/xxxx-xxxxx  ※xxxx-xxxx はプラグイン名。
/includes/
読み込むPHPファイル群を保存。
/languages/
翻訳ファイルを保存。
/css/
プラグインで使⽤用するCSSファイルを保存。
/js/
プラグインで使⽤用するJavaScriptファイルを保存。
⾼高⾒見見的提案 (^-^)
(例例です)
◆プラグインのディレクトリを整理理しましょう。
xxxx-xxxx.php(プラグインの基準ファイル)
readme.txt (プラグインの説明)
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
12	
  
◆コーディング規約を守りましょう。
l  WordPressにはコーディング規約がちゃんと定めてあります。
http://codex.wordpress.org/WordPress_Coding_Standards
-  PHP / HTML / CSS / JavaScript それぞれ規約に⽬目を通しておきましょう。
-  質の悪いコードは、メンテナンス性が落落ちます。
-  変数や関数の命名規則も定めてあります。
-  https://wpdocs.osdn.jp/WordPress_%E3%82%B3%E3%83%BC
%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E5%9F%BA
%E6%BA%96
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
13	
  
◆エラーの出ないコーディングをしましょう。
l  ローカル環境で制作を⾏行行う際にデバッグモードをONで作業をしましょう。
- ⾮非推奨関数を使⽤用した場合、警告してくれます。
- Notice や Warning など出ないようにコーディングしましょう。
◆	
  wp-­‐config.php	
  に以下の値を設定	
define(	
  'WP_DEBUG',	
  true	
  );
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
14	
  
◆脆弱性対策を⾏行行いましょう。
l  出⼒力力内容に対して、各種エスケープ処理理などを実装します。
-  セキュリティ⽩白書(⽇日本語版)があります。熟読しましょう。
※翻訳対応された⽅方々お疲れ様です。
-  https://ja.wordpress.org/security/
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
15	
  
◆主なエスケープ関数
- esc_html() http://codex.wordpress.org/Function_Reference/esc_html
< > & ” ‘をエンティティ化します。(「<」→「&lt;」「>」→「&gt;」等表⽰示に⽀支障がないよ
うに置き換えてくれる。)表⽰示するだけなら関数を使⽤用します。
- esc_attr() http://codex.wordpress.org/Function_Reference/esc_attr
< > & ” ‘をエンティティ化する。HTMLタグ属性を取り除きます。タグの属性値として出⼒力力する
際に使⽤用します。inputなどの値として出⼒力力して使う場合はこちらの  esc_attr を使⽤用します。
- esc_url() http://codex.wordpress.org/Function_Reference/esc_url
URL⽂文字列列になっているかを調べて、適切切でない場合は取り除き、URL⽂文字列列として最適化し
ます。アドレスを出⼒力力する際に使⽤用します。
頑張って使いこなしましょう。φ( . _ . )
©	
  WordBench	
  Miyazaki	
  	
プラグイン制作時のポイント(注意点)
16	
  
◆readme.txt は必須です。
l  プラグインを公開したときにできるページの説明になります。
l  ヘッダーにはプラグインの情報を記載します。
最初は他のプラグインのreadme.txtを真似して書いてみましょう。φ( . _ . )
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
17	
  
プラグインの翻訳
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
18	
  
◆翻訳ファイルの基本
xxxx-xxxx.pot(POT(Portable Object Templete))
翻訳ファイルのテンプレート
/languages/
翻訳ファイルを保存。
xxxx-xxxx-ja.po(PO(Portable Object))
テンプレートを元に翻訳したファイル(⾔言語ごと)
xxxx-xxxx-ja.mo(MO(Machine Object))
翻訳ファイル
ja は⽇日本語翻訳ファイ
ルを表しています。
/wp-content/plugin/xxxx-xxxxx  ※xxxx-xxxx はプラグイン名。
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
19	
  
◆ヘッダー情報に翻訳設定
l  プラグインの基準ファイルのヘッダーに以下の記述をしておきます。
Text	
  Domain:	
  xxxx-­‐xxxx	
  
Domain	
  Path:	
  /languages
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
20	
  
◆コンストラクタに記述
l  プラグインのロード時に翻訳設定を動作させる設定をしておきます。
add_acRon(	
  'plugins_loaded',	
  array(	
  $this,	
  'plugins_loaded'	
  )	
  );	
  
	
  
public	
  funcRon	
  plugins_loaded	
  ()	
  {	
  
	
  load_plugin_textdomain(	
  
	
   	
  	
  'xxxx-­‐xxxx',	
  
	
   	
  false,	
  
	
   	
  dirname(	
  plugin_basename(	
  __FILE__	
  )	
  )	
  .	
  '/languages'	
  
	
  );	
  
}
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
21	
  
◆プラグイン作成時に翻訳する箇所に設定しておきます。
l  翻訳⽤用の関数を使⽤用してプログラミングしましょう。
esc_html__(	
  'Add	
  New',	
  '	
  xxxx-­‐xxxx'	
  );	
  
__()	
  
_e()	
esc_html__()	
esc_html_e()	
eは、echo() 付き。
この関数を使⽤用してい
る箇所が翻訳対象
脆弱性対策のために基本的にはesc_html付関数を使⽤用しましょう。φ( . _ . )
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
22	
  
◆POTファイルを作成
l  Gettextを使ってファイルを作ります。(Gettextについてはこちら)
languagesディレクトリで以下のコマンドを実⾏行行します。
makepot.php	
  wp-­‐plugin	
  ..	
  
開発環境にVCCWを使っていると全部揃っているのでとても簡単。φ( . _ . )
VCCW を開発環境に
している例例(SSHで)
©	
  WordBench	
  Miyazaki	
  	
プラグインの翻訳
23	
  
◆翻訳してコンパイル
POT
l  POTファイルをコピーして、POファイルを作成。そのファイルをコンパ
イルします。コンパイルコマンドは以下のように。
msgfmt	
  -­‐o	
  xxxx-­‐xxxx-­‐ja.mo	
  xxxx-­‐xxxx-­‐ja.po	
  
これで準備完了了!(・∀・)
PO MO
makepot
copy &
rename
翻訳  &
msgfmt
©	
  WordBench	
  Miyazaki	
  	
公開準備
24	
  
プラグインの公開準備
©	
  WordBench	
  Miyazaki	
  	
公開準備
25	
  
1.  公式サイトでアカウントを作る。	
  
2.  プラグインをダウンロードできる状態にしておく。	
  
3.  登録するプラグイン情報を送る。	
  
4.  公式サイトの有志が審査。	
  
5.  公式サイトからメールが届く。
6.  送られてきたリポジトリを確認。	
  
この流流れで準備をしていきます。φ( . _ . )
©	
  WordBench	
  Miyazaki	
  	
公開準備
26	
  
◆まずは公式サイトでアカウントを作りましょう。
l  プラグインのリポジトリをもらうにはアカウントが必要です。
-  https://wordpress.org/support/register.php
©	
  WordBench	
  Miyazaki	
  	
公開準備
27	
  
◆プラグインをダウンロードできる状態にしておく。
l  出来上がったプラグインを zip 形式で圧縮します。
l  zip ファイルをどこでもよいので、アップロードしておき、ダウンロード
できる状態にしておきましょう。
©	
  WordBench	
  Miyazaki	
  	
公開準備
28	
  
◆登録するプラグイン情報を送信する。
・公式サイトに送信⽤用のフォームがありますので情報を⼊入⼒力力します。
Plugins
Add  Your  
Plugin
©	
  WordBench	
  Miyazaki	
  	
公開準備
29	
  
ほしいリポジトリ名
(⼀一意)
圧縮したプラグインの
ダウンロード先URL
プラグインの説明
(英語でがんばれ!)
⼊入⼒力力が完了了したら
送信!
©	
  WordBench	
  Miyazaki	
  	
公開準備
30	
  
◆プラグインの審査(レビュー)を待ちます。
l  最短で次の⽇日に来ました。レビューするプラグインのたまり具合とかに左
右されそうです。NGの例例はまだないので、逆に知りたい。(・_・)
©	
  WordBench	
  Miyazaki	
  	
公開準備
31	
  
◆審査通過するとテンションやや⾼高めのメールが届きます。
リポジトリのURLが
届きます(^o^)
登録⽅方法まとめ
読んでおきましょう。
©	
  WordBench	
  Miyazaki	
  	
いよいよ!
32	
  
プラグインを公開する
©	
  WordBench	
  Miyazaki	
  	
公開
33	
  
◆Subversion をインストールしておく
l  WordPress のソースコードは、Subversion で管理理されています。事前に
インストールしておきましょう。( Gitになってほしいな… (・ω・) )
©	
  WordBench	
  Miyazaki	
  	
公開
34	
  
/xxxx-xxxxx/  ※xxxx-xxxx はリポジトリ名。
/assets/
プラグインのアイキャッチ画像やアイコン画像を保存。
/branches/
ブランチ。
/tags/
バージョンタグ付けされたデータが保存されている。
/trunk/
プラグインの最新ファイルを保存。
◆リポジトリの構成
このディレクトリがリポジトリにできています。(・∀・)
©	
  WordBench	
  Miyazaki	
  	
公開
35	
  
◆リポジトリからファイルやディレクトリを取得します。
SVN
svn	
  co	
  リポジトリ名(メールでもらったURL)	
l  ターミナル(Macの場合)でダウンロードするディレクトリに移動して以
下のコマンドを実⾏行行します。
svn  co  xxxxx
(co  は  check  out  のこと)
©	
  WordBench	
  Miyazaki	
  	
公開
36	
  
◆ダウンロードしてきたディレクトリにデータを保存。
SVN
l  trunk – プラグイン
l  assets – アイキャッチ画像を保存(なくてもOK)
trunk  /  assets
trunk
assets
©	
  WordBench	
  Miyazaki	
  	
公開
37	
  
◆保存したファイルを追加(更更新)します。
SVN
l  svn add は新規ファイル追加
l  svn update は既にアップロード済のファイル上書き
svn	
  add	
  assets/*	
  
svn	
  add	
  trunk/*	
  
svn  add
trunk
assets
©	
  WordBench	
  Miyazaki	
  	
公開
38	
  
◆追加(更更新)したファイルをコミットします。
SVN
l  メッセージを書いてコミットします。私は定形でバージョンを書いてます。φ( . _ . )
svn	
  commit	
  -­‐m	
  “version	
  1.0.0	
  release.”	
  
svn  commit
完了了するとアカウント宛に
メールが届きます。
trunk
assets
©	
  WordBench	
  Miyazaki	
  	
公開
39	
  
◆バージョン管理理をします。
SVN
l  tagsディレクトリにtrunkの内容をバージョンをつけてコピーします。
svn	
  cp	
  trunk	
  tags/1.0.0	
  	
  
svn  cp
trunk
assets
tags
©	
  WordBench	
  Miyazaki	
  	
公開
40	
  
◆tagsディレクトリのコミット
SVN
l  tagsディレクトリをコミットしてリポジトリに送信します。
svn	
  ci	
  -­‐m	
  “tagging	
  version	
  1.0.0”	
  	
  	
  
trunk
assets
tags
svn  ci  xxxxx
(ci  は  check  in  のこと)
完了了するとアカウント宛に
メールが届きます。
©	
  WordBench	
  Miyazaki	
  	
公開
41	
  
公開された!
\(^o^)/
©	
  WordBench	
  Miyazaki	
  	
公開後のお楽しみ
42	
  
公開後のお楽しみ
©	
  WordBench	
  Miyazaki	
  	
公開後のお楽しみ
43	
  
◆ユーザーの反応が楽しい!(^^♪
l  公開した⾃自分のプラグインのページでダウンロード状況が確認できます。
Active  Version
バージョンは  x.x.x とつけたほう
が良良さそうです。φ( . _ . )
Download
©	
  WordBench	
  Miyazaki	
  	
公開後のお楽しみ
44	
  
◆レビューがもらえる!(^^♪
l  世界の⼈人からレビューもらえる嬉しさ。そう思うの私だけ?
外⼈人がレビュー
くれた!誰?
©	
  WordBench	
  Miyazaki	
  	
公開後のお楽しみ
45	
  
◆サポート掲⽰示板でご指摘いただける。φ( . _ . )
l  いや、確認漏漏れだろ……けど親切切に教えてもらえた!
エラー出てま
すよ  (^o^)
©	
  WordBench	
  Miyazaki	
  	
公開後のお楽しみ
46	
  
プラグインを通して
交流流が広がることが⼀一番楽しい!
©	
  WordBench	
  Miyazaki	
  	
ご清聴ありがとうございました。
47	
  
ありがとうございました。
次回は2ヶ月後の2016年2月開催です。
©	
  WordBench	
  Miyazaki	
  	
WordPress関数リファレンス/Widgets_API
https://codex.wordpress.org/Widgets_API
WordPress関数リファレンス/register_widget
https://codex.wordpress.org/Function_Reference/register_widget
参考URL
48	
  

More Related Content

What's hot

Skywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでねSkywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでねmganeko
 
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangFINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangYoshiki Shibukawa
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013DQNEO
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handsonNobuhiro Sue
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフローadd20
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdownロフト くん
 
WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介Takashi Uemura
 
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Takuya Ueda
 
Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発Takahiro Kubo
 
MediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live StreamingMediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live Streamingmganeko
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話mdome
 
Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察Yoshiki Shibukawa
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
PySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare HackPySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare HackKazushige TAKEUCHI
 
LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2Tomofumi Yagi
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundryTakayoshi Tanaka
 

What's hot (20)

Skywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでねSkywayのビデオチャットを録画しよう。そう、ブラウザでね
Skywayのビデオチャットを録画しよう。そう、ブラウザでね
 
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangFINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
Gws 20130315 gradle_handson
Gws 20130315 gradle_handsonGws 20130315 gradle_handson
Gws 20130315 gradle_handson
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
Bot Framework v4 開発 Tips 2018-11
Bot Framework v4  開発 Tips 2018-11Bot Framework v4  開発 Tips 2018-11
Bot Framework v4 開発 Tips 2018-11
 
Write slides and books in VSCode + Markdown
Write slides and books in VSCode + MarkdownWrite slides and books in VSCode + Markdown
Write slides and books in VSCode + Markdown
 
WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介
 
Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発Go MobileでAndroidアプリ開発
Go MobileでAndroidアプリ開発
 
Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発Pythonで始めるWebアプリケーション開発
Pythonで始めるWebアプリケーション開発
 
MediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live StreamingMediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live Streaming
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察Chunked encoding を使った高速化の考察
Chunked encoding を使った高速化の考察
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
PySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare HackPySide/QtWebkitで楽々 slideshare Hack
PySide/QtWebkitで楽々 slideshare Hack
 
LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2LibreOffice を Windows 上でビルドする UPDATE2
LibreOffice を Windows 上でビルドする UPDATE2
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry120315 cloud founry_java_ironfoundry
120315 cloud founry_java_ironfoundry
 
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作るGoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
 

Viewers also liked

jQuery3.0-beta1-point
jQuery3.0-beta1-pointjQuery3.0-beta1-point
jQuery3.0-beta1-pointTakami Kazuya
 
カスタムフィールドを使ってハッピーになろう
カスタムフィールドを使ってハッピーになろうカスタムフィールドを使ってハッピーになろう
カスタムフィールドを使ってハッピーになろうSeiichiro Mishiba
 
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016Takami Kazuya
 
WordPress + JSON-LDで構造化するこれからのマークアップ
WordPress + JSON-LDで構造化するこれからのマークアップWordPress + JSON-LDで構造化するこれからのマークアップ
WordPress + JSON-LDで構造化するこれからのマークアップTakami Kazuya
 
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!俊之 渡邊
 

Viewers also liked (7)

jQuery3.0-beta1-point
jQuery3.0-beta1-pointjQuery3.0-beta1-point
jQuery3.0-beta1-point
 
WordPress+AMP
WordPress+AMPWordPress+AMP
WordPress+AMP
 
History api
History apiHistory api
History api
 
カスタムフィールドを使ってハッピーになろう
カスタムフィールドを使ってハッピーになろうカスタムフィールドを使ってハッピーになろう
カスタムフィールドを使ってハッピーになろう
 
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
WordPress+JSON-LDで構造化するこれからのマークアップ WordFes Nagoya 2016
 
WordPress + JSON-LDで構造化するこれからのマークアップ
WordPress + JSON-LDで構造化するこれからのマークアップWordPress + JSON-LDで構造化するこれからのマークアップ
WordPress + JSON-LDで構造化するこれからのマークアップ
 
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
激熱プラグインCustom Field SuiteとWordPress Front-end Editorをさわってみよう!
 

Similar to プラグイン公開までの道のり

WordPressプラグインの作り方
WordPressプラグインの作り方WordPressプラグインの作り方
WordPressプラグインの作り方Takami Kazuya
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketKazuhiro Hara
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfesTakeshi Komiya
 
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7Wataru NOGUCHI
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworksAtsushi Tadokoro
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについてMasahito Zembutsu
 
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010Odyssey Eightbit
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...NTT DATA Technology & Innovation
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -将 高野
 
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Akito Tsukahara
 
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニングKiyokazu Kaba
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発tomo_masakura
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1Atsushi Tadokoro
 
Php conference 2010 final
Php conference 2010 finalPhp conference 2010 final
Php conference 2010 finalhirookun
 

Similar to プラグイン公開までの道のり (20)

WordPressプラグインの作り方
WordPressプラグインの作り方WordPressプラグインの作り方
WordPressプラグインの作り方
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Wbn1201
Wbn1201Wbn1201
Wbn1201
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
 
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
GitLabを骨までしゃぶりつくす@ゆるUniStudy#7
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
Duotone の子テーマを作ろう、そうしよう - Wordcamp Fukuoka 2010
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
 
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
 
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3  インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
 
Php conference 2010 final
Php conference 2010 finalPhp conference 2010 final
Php conference 2010 final
 

More from Takami Kazuya

HTML栄枯盛衰は世の習い
HTML栄枯盛衰は世の習いHTML栄枯盛衰は世の習い
HTML栄枯盛衰は世の習いTakami Kazuya
 
Google Apps Script 入門
Google Apps Script 入門Google Apps Script 入門
Google Apps Script 入門Takami Kazuya
 
GoogleAppsScript入門
GoogleAppsScript入門GoogleAppsScript入門
GoogleAppsScript入門Takami Kazuya
 
Googleデータポータルで見える化に挑戦vol.2
Googleデータポータルで見える化に挑戦vol.2Googleデータポータルで見える化に挑戦vol.2
Googleデータポータルで見える化に挑戦vol.2Takami Kazuya
 
WordPressで考えるこれからのコンテンツ制作
WordPressで考えるこれからのコンテンツ制作WordPressで考えるこれからのコンテンツ制作
WordPressで考えるこれからのコンテンツ制作Takami Kazuya
 
WordPressをこれから始める人のためのテーマ講座
WordPressをこれから始める人のためのテーマ講座WordPressをこれから始める人のためのテーマ講座
WordPressをこれから始める人のためのテーマ講座Takami Kazuya
 
JSON-LD schema.org定義によるデータ構造化のススメ
JSON-LD schema.org定義によるデータ構造化のススメJSON-LD schema.org定義によるデータ構造化のススメ
JSON-LD schema.org定義によるデータ構造化のススメTakami Kazuya
 
WordPress widget api
WordPress widget apiWordPress widget api
WordPress widget apiTakami Kazuya
 
React Facebook JavaScript Library
React Facebook JavaScript LibraryReact Facebook JavaScript Library
React Facebook JavaScript LibraryTakami Kazuya
 
Wordpress カスタム投稿
Wordpress カスタム投稿Wordpress カスタム投稿
Wordpress カスタム投稿Takami Kazuya
 
【WordBench宮崎】第3回・4回アンケート報告
【WordBench宮崎】第3回・4回アンケート報告【WordBench宮崎】第3回・4回アンケート報告
【WordBench宮崎】第3回・4回アンケート報告Takami Kazuya
 
WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察Takami Kazuya
 
WordPressテーマ作成
WordPressテーマ作成WordPressテーマ作成
WordPressテーマ作成Takami Kazuya
 
WordPress×jQueryMobile
WordPress×jQueryMobileWordPress×jQueryMobile
WordPress×jQueryMobileTakami Kazuya
 
EC-CUBEプラグイン制作のポイント
EC-CUBEプラグイン制作のポイントEC-CUBEプラグイン制作のポイント
EC-CUBEプラグイン制作のポイントTakami Kazuya
 
今から学ぶ!jQuery Mobile!
今から学ぶ!jQuery Mobile!今から学ぶ!jQuery Mobile!
今から学ぶ!jQuery Mobile!Takami Kazuya
 
英語でカゴラボ紹介
英語でカゴラボ紹介英語でカゴラボ紹介
英語でカゴラボ紹介Takami Kazuya
 
HTML5構造化によるセマンティックWebがSEOに与える影響
HTML5構造化によるセマンティックWebがSEOに与える影響HTML5構造化によるセマンティックWebがSEOに与える影響
HTML5構造化によるセマンティックWebがSEOに与える影響Takami Kazuya
 

More from Takami Kazuya (20)

HTML栄枯盛衰は世の習い
HTML栄枯盛衰は世の習いHTML栄枯盛衰は世の習い
HTML栄枯盛衰は世の習い
 
Google Apps Script 入門
Google Apps Script 入門Google Apps Script 入門
Google Apps Script 入門
 
GoogleAppsScript入門
GoogleAppsScript入門GoogleAppsScript入門
GoogleAppsScript入門
 
Googleデータポータルで見える化に挑戦vol.2
Googleデータポータルで見える化に挑戦vol.2Googleデータポータルで見える化に挑戦vol.2
Googleデータポータルで見える化に挑戦vol.2
 
WordPressで考えるこれからのコンテンツ制作
WordPressで考えるこれからのコンテンツ制作WordPressで考えるこれからのコンテンツ制作
WordPressで考えるこれからのコンテンツ制作
 
WordPressをこれから始める人のためのテーマ講座
WordPressをこれから始める人のためのテーマ講座WordPressをこれから始める人のためのテーマ講座
WordPressをこれから始める人のためのテーマ講座
 
JSON-LD schema.org定義によるデータ構造化のススメ
JSON-LD schema.org定義によるデータ構造化のススメJSON-LD schema.org定義によるデータ構造化のススメ
JSON-LD schema.org定義によるデータ構造化のススメ
 
WordPress widget api
WordPress widget apiWordPress widget api
WordPress widget api
 
Miyazaki.js vol.2
Miyazaki.js vol.2Miyazaki.js vol.2
Miyazaki.js vol.2
 
React Facebook JavaScript Library
React Facebook JavaScript LibraryReact Facebook JavaScript Library
React Facebook JavaScript Library
 
Wordpress カスタム投稿
Wordpress カスタム投稿Wordpress カスタム投稿
Wordpress カスタム投稿
 
【WordBench宮崎】第3回・4回アンケート報告
【WordBench宮崎】第3回・4回アンケート報告【WordBench宮崎】第3回・4回アンケート報告
【WordBench宮崎】第3回・4回アンケート報告
 
WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察
 
WordPressテーマ作成
WordPressテーマ作成WordPressテーマ作成
WordPressテーマ作成
 
WordPress×jQueryMobile
WordPress×jQueryMobileWordPress×jQueryMobile
WordPress×jQueryMobile
 
EC-CUBEプラグイン制作のポイント
EC-CUBEプラグイン制作のポイントEC-CUBEプラグイン制作のポイント
EC-CUBEプラグイン制作のポイント
 
今から学ぶ!jQuery Mobile!
今から学ぶ!jQuery Mobile!今から学ぶ!jQuery Mobile!
今から学ぶ!jQuery Mobile!
 
英語でカゴラボ紹介
英語でカゴラボ紹介英語でカゴラボ紹介
英語でカゴラボ紹介
 
HTML5構造化によるセマンティックWebがSEOに与える影響
HTML5構造化によるセマンティックWebがSEOに与える影響HTML5構造化によるセマンティックWebがSEOに与える影響
HTML5構造化によるセマンティックWebがSEOに与える影響
 
EC × Google
EC × GoogleEC × Google
EC × Google
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

プラグイン公開までの道のり

  • 1. ©  WordBench  Miyazaki   プラグイン公開までの道のり WordBench宮崎 ver.1.0.0 【WordBench宮崎勉強会】
  • 2. ©  WordBench  Miyazaki   ⾃自⼰己紹介 2   ⾼高⾒見見  和也(Takami Kazuya) h6ps://twi6er.com/miiitaka   h6ps://www.facebook.com/miiitaka   株式会社アラタナ フロントエンドエンジニア WordPress と JavaScript が友達です。 h6ps://github.com/miiitaka  
  • 3. ©  WordBench  Miyazaki   ハッシュタグ 3   #wbmiyazaki
  • 4. ©  WordBench  Miyazaki   アジェンダ 4   p  どんなプラグインを作ろう?   p  プラグイン制作時のポイント(気をつけること)   p  プラグインの翻訳に挑戦   p  公開準備   p  公開!   p  公開後のお楽しみ  
  • 5. ©  WordBench  Miyazaki   さてさて 5   どんなプラグインを作ろう?
  • 6. ©  WordBench  Miyazaki   まずはどういうプラグインを作ろうか考える 6   ◆プラグインのアイデア などなど。まずは作るものを設計するところから始めます。 -  普段仕事でよく使う機能をプラグイン化。 -  公開されているプラグインではできない、かゆいところに⼿手が届くもの。 -  サードパーティ製品と連携できるようなプラグイン。 -  Web API と連携するプラグイン。
  • 7. ©  WordBench  Miyazaki   ⾼高⾒見見が作ってみた例例 7   ◆⾼高⾒見見が公開したプラグインの例例 l  きっかけ → HTML5 Experts.jp で記事を書かせてもらった。 https://html5experts.jp/miiitaka/17128/ -  JSON-LDの出⼒力力を⾃自動化できないかな? -  @type 毎に定義(ルール)は決まっているし作りやすいんじゃないか? -  投稿ページや固定ページ、場合によってはカスタム投稿で定義できそう。 -  なにより作ることでGoogleの知識識が深まりそう。 これをプラグインにできないかな? (・_・ )
  • 8. ©  WordBench  Miyazaki   Let’s Programming !! 8   作ってみた
  • 9. ©  WordBench  Miyazaki   Markup  (JSON-‐‑‒LD)  structured  in  schema.org 9 h6ps://wordpress.org/support/plugin/wp-­‐structuring-­‐markup  
  • 10. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 10   プラグイン制作時のポイント (注意点)
  • 11. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 11   /wp-content/plugin/xxxx-xxxxx  ※xxxx-xxxx はプラグイン名。 /includes/ 読み込むPHPファイル群を保存。 /languages/ 翻訳ファイルを保存。 /css/ プラグインで使⽤用するCSSファイルを保存。 /js/ プラグインで使⽤用するJavaScriptファイルを保存。 ⾼高⾒見見的提案 (^-^) (例例です) ◆プラグインのディレクトリを整理理しましょう。 xxxx-xxxx.php(プラグインの基準ファイル) readme.txt (プラグインの説明)
  • 12. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 12   ◆コーディング規約を守りましょう。 l  WordPressにはコーディング規約がちゃんと定めてあります。 http://codex.wordpress.org/WordPress_Coding_Standards -  PHP / HTML / CSS / JavaScript それぞれ規約に⽬目を通しておきましょう。 -  質の悪いコードは、メンテナンス性が落落ちます。 -  変数や関数の命名規則も定めてあります。 -  https://wpdocs.osdn.jp/WordPress_%E3%82%B3%E3%83%BC %E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E5%9F%BA %E6%BA%96
  • 13. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 13   ◆エラーの出ないコーディングをしましょう。 l  ローカル環境で制作を⾏行行う際にデバッグモードをONで作業をしましょう。 - ⾮非推奨関数を使⽤用した場合、警告してくれます。 - Notice や Warning など出ないようにコーディングしましょう。 ◆  wp-­‐config.php  に以下の値を設定 define(  'WP_DEBUG',  true  );
  • 14. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 14   ◆脆弱性対策を⾏行行いましょう。 l  出⼒力力内容に対して、各種エスケープ処理理などを実装します。 -  セキュリティ⽩白書(⽇日本語版)があります。熟読しましょう。 ※翻訳対応された⽅方々お疲れ様です。 -  https://ja.wordpress.org/security/
  • 15. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 15   ◆主なエスケープ関数 - esc_html() http://codex.wordpress.org/Function_Reference/esc_html < > & ” ‘をエンティティ化します。(「<」→「&lt;」「>」→「&gt;」等表⽰示に⽀支障がないよ うに置き換えてくれる。)表⽰示するだけなら関数を使⽤用します。 - esc_attr() http://codex.wordpress.org/Function_Reference/esc_attr < > & ” ‘をエンティティ化する。HTMLタグ属性を取り除きます。タグの属性値として出⼒力力する 際に使⽤用します。inputなどの値として出⼒力力して使う場合はこちらの  esc_attr を使⽤用します。 - esc_url() http://codex.wordpress.org/Function_Reference/esc_url URL⽂文字列列になっているかを調べて、適切切でない場合は取り除き、URL⽂文字列列として最適化し ます。アドレスを出⼒力力する際に使⽤用します。 頑張って使いこなしましょう。φ( . _ . )
  • 16. ©  WordBench  Miyazaki   プラグイン制作時のポイント(注意点) 16   ◆readme.txt は必須です。 l  プラグインを公開したときにできるページの説明になります。 l  ヘッダーにはプラグインの情報を記載します。 最初は他のプラグインのreadme.txtを真似して書いてみましょう。φ( . _ . )
  • 17. ©  WordBench  Miyazaki   プラグインの翻訳 17   プラグインの翻訳
  • 18. ©  WordBench  Miyazaki   プラグインの翻訳 18   ◆翻訳ファイルの基本 xxxx-xxxx.pot(POT(Portable Object Templete)) 翻訳ファイルのテンプレート /languages/ 翻訳ファイルを保存。 xxxx-xxxx-ja.po(PO(Portable Object)) テンプレートを元に翻訳したファイル(⾔言語ごと) xxxx-xxxx-ja.mo(MO(Machine Object)) 翻訳ファイル ja は⽇日本語翻訳ファイ ルを表しています。 /wp-content/plugin/xxxx-xxxxx  ※xxxx-xxxx はプラグイン名。
  • 19. ©  WordBench  Miyazaki   プラグインの翻訳 19   ◆ヘッダー情報に翻訳設定 l  プラグインの基準ファイルのヘッダーに以下の記述をしておきます。 Text  Domain:  xxxx-­‐xxxx   Domain  Path:  /languages
  • 20. ©  WordBench  Miyazaki   プラグインの翻訳 20   ◆コンストラクタに記述 l  プラグインのロード時に翻訳設定を動作させる設定をしておきます。 add_acRon(  'plugins_loaded',  array(  $this,  'plugins_loaded'  )  );     public  funcRon  plugins_loaded  ()  {    load_plugin_textdomain(        'xxxx-­‐xxxx',      false,      dirname(  plugin_basename(  __FILE__  )  )  .  '/languages'    );   }
  • 21. ©  WordBench  Miyazaki   プラグインの翻訳 21   ◆プラグイン作成時に翻訳する箇所に設定しておきます。 l  翻訳⽤用の関数を使⽤用してプログラミングしましょう。 esc_html__(  'Add  New',  '  xxxx-­‐xxxx'  );   __()   _e() esc_html__() esc_html_e() eは、echo() 付き。 この関数を使⽤用してい る箇所が翻訳対象 脆弱性対策のために基本的にはesc_html付関数を使⽤用しましょう。φ( . _ . )
  • 22. ©  WordBench  Miyazaki   プラグインの翻訳 22   ◆POTファイルを作成 l  Gettextを使ってファイルを作ります。(Gettextについてはこちら) languagesディレクトリで以下のコマンドを実⾏行行します。 makepot.php  wp-­‐plugin  ..   開発環境にVCCWを使っていると全部揃っているのでとても簡単。φ( . _ . ) VCCW を開発環境に している例例(SSHで)
  • 23. ©  WordBench  Miyazaki   プラグインの翻訳 23   ◆翻訳してコンパイル POT l  POTファイルをコピーして、POファイルを作成。そのファイルをコンパ イルします。コンパイルコマンドは以下のように。 msgfmt  -­‐o  xxxx-­‐xxxx-­‐ja.mo  xxxx-­‐xxxx-­‐ja.po   これで準備完了了!(・∀・) PO MO makepot copy & rename 翻訳  & msgfmt
  • 24. ©  WordBench  Miyazaki   公開準備 24   プラグインの公開準備
  • 25. ©  WordBench  Miyazaki   公開準備 25   1.  公式サイトでアカウントを作る。   2.  プラグインをダウンロードできる状態にしておく。   3.  登録するプラグイン情報を送る。   4.  公式サイトの有志が審査。   5.  公式サイトからメールが届く。 6.  送られてきたリポジトリを確認。   この流流れで準備をしていきます。φ( . _ . )
  • 26. ©  WordBench  Miyazaki   公開準備 26   ◆まずは公式サイトでアカウントを作りましょう。 l  プラグインのリポジトリをもらうにはアカウントが必要です。 -  https://wordpress.org/support/register.php
  • 27. ©  WordBench  Miyazaki   公開準備 27   ◆プラグインをダウンロードできる状態にしておく。 l  出来上がったプラグインを zip 形式で圧縮します。 l  zip ファイルをどこでもよいので、アップロードしておき、ダウンロード できる状態にしておきましょう。
  • 28. ©  WordBench  Miyazaki   公開準備 28   ◆登録するプラグイン情報を送信する。 ・公式サイトに送信⽤用のフォームがありますので情報を⼊入⼒力力します。 Plugins Add  Your   Plugin
  • 29. ©  WordBench  Miyazaki   公開準備 29   ほしいリポジトリ名 (⼀一意) 圧縮したプラグインの ダウンロード先URL プラグインの説明 (英語でがんばれ!) ⼊入⼒力力が完了了したら 送信!
  • 30. ©  WordBench  Miyazaki   公開準備 30   ◆プラグインの審査(レビュー)を待ちます。 l  最短で次の⽇日に来ました。レビューするプラグインのたまり具合とかに左 右されそうです。NGの例例はまだないので、逆に知りたい。(・_・)
  • 31. ©  WordBench  Miyazaki   公開準備 31   ◆審査通過するとテンションやや⾼高めのメールが届きます。 リポジトリのURLが 届きます(^o^) 登録⽅方法まとめ 読んでおきましょう。
  • 32. ©  WordBench  Miyazaki   いよいよ! 32   プラグインを公開する
  • 33. ©  WordBench  Miyazaki   公開 33   ◆Subversion をインストールしておく l  WordPress のソースコードは、Subversion で管理理されています。事前に インストールしておきましょう。( Gitになってほしいな… (・ω・) )
  • 34. ©  WordBench  Miyazaki   公開 34   /xxxx-xxxxx/  ※xxxx-xxxx はリポジトリ名。 /assets/ プラグインのアイキャッチ画像やアイコン画像を保存。 /branches/ ブランチ。 /tags/ バージョンタグ付けされたデータが保存されている。 /trunk/ プラグインの最新ファイルを保存。 ◆リポジトリの構成 このディレクトリがリポジトリにできています。(・∀・)
  • 35. ©  WordBench  Miyazaki   公開 35   ◆リポジトリからファイルやディレクトリを取得します。 SVN svn  co  リポジトリ名(メールでもらったURL) l  ターミナル(Macの場合)でダウンロードするディレクトリに移動して以 下のコマンドを実⾏行行します。 svn  co  xxxxx (co  は  check  out  のこと)
  • 36. ©  WordBench  Miyazaki   公開 36   ◆ダウンロードしてきたディレクトリにデータを保存。 SVN l  trunk – プラグイン l  assets – アイキャッチ画像を保存(なくてもOK) trunk  /  assets trunk assets
  • 37. ©  WordBench  Miyazaki   公開 37   ◆保存したファイルを追加(更更新)します。 SVN l  svn add は新規ファイル追加 l  svn update は既にアップロード済のファイル上書き svn  add  assets/*   svn  add  trunk/*   svn  add trunk assets
  • 38. ©  WordBench  Miyazaki   公開 38   ◆追加(更更新)したファイルをコミットします。 SVN l  メッセージを書いてコミットします。私は定形でバージョンを書いてます。φ( . _ . ) svn  commit  -­‐m  “version  1.0.0  release.”   svn  commit 完了了するとアカウント宛に メールが届きます。 trunk assets
  • 39. ©  WordBench  Miyazaki   公開 39   ◆バージョン管理理をします。 SVN l  tagsディレクトリにtrunkの内容をバージョンをつけてコピーします。 svn  cp  trunk  tags/1.0.0     svn  cp trunk assets tags
  • 40. ©  WordBench  Miyazaki   公開 40   ◆tagsディレクトリのコミット SVN l  tagsディレクトリをコミットしてリポジトリに送信します。 svn  ci  -­‐m  “tagging  version  1.0.0”       trunk assets tags svn  ci  xxxxx (ci  は  check  in  のこと) 完了了するとアカウント宛に メールが届きます。
  • 41. ©  WordBench  Miyazaki   公開 41   公開された! \(^o^)/
  • 42. ©  WordBench  Miyazaki   公開後のお楽しみ 42   公開後のお楽しみ
  • 43. ©  WordBench  Miyazaki   公開後のお楽しみ 43   ◆ユーザーの反応が楽しい!(^^♪ l  公開した⾃自分のプラグインのページでダウンロード状況が確認できます。 Active  Version バージョンは  x.x.x とつけたほう が良良さそうです。φ( . _ . ) Download
  • 44. ©  WordBench  Miyazaki   公開後のお楽しみ 44   ◆レビューがもらえる!(^^♪ l  世界の⼈人からレビューもらえる嬉しさ。そう思うの私だけ? 外⼈人がレビュー くれた!誰?
  • 45. ©  WordBench  Miyazaki   公開後のお楽しみ 45   ◆サポート掲⽰示板でご指摘いただける。φ( . _ . ) l  いや、確認漏漏れだろ……けど親切切に教えてもらえた! エラー出てま すよ  (^o^)
  • 46. ©  WordBench  Miyazaki   公開後のお楽しみ 46   プラグインを通して 交流流が広がることが⼀一番楽しい!
  • 47. ©  WordBench  Miyazaki   ご清聴ありがとうございました。 47   ありがとうございました。 次回は2ヶ月後の2016年2月開催です。
  • 48. ©  WordBench  Miyazaki   WordPress関数リファレンス/Widgets_API https://codex.wordpress.org/Widgets_API WordPress関数リファレンス/register_widget https://codex.wordpress.org/Function_Reference/register_widget 参考URL 48