SlideShare a Scribd company logo
1 of 119
Download to read offline
プラグインAPIから理解する
WordPress
自己紹介
‣ ノジマユウジ @yuka2py
‣ 株式会社フォーエンキー
代表
‣ システム開発、
グラフィックデザイン、
DTPや印刷なども
‣ PythonとJavascriptが大
好き(Dartに興味深々)
‣ 最近はWeb上のアプリ
ケーション構築や、WPに
よるシステム開発、プラグ
イン作成などが主なお仕
事
‣ おしゃれも大好き☆
‣ リボンやお花が好き☆
絶賛
お仕事募
集中
去年のボク
Python
1%Design
15%
iOS
4%
Android
10%
Web(PHP/JS)
10%
Windows(C#)
20%
お嫁
40%
お 嫁
W i n d o w s ( C # )
W e b ( P H P / J S )
A n d r o i d
i O S
D e s i g n
P y t h o n
2012年11月2日
株式会社フォーエンキー調べ
Pythonista
なのにね
(́;ω;`)
最近のボク
Python
1%
Design
5%
Android
5%
Windows
15%
Web/WordPress
25%
お嫁
50%
お 嫁
W e b / W o r d P r e s s
W i n d o w s
A n d r o i d
D e s i g n
P y t h o n
2013年6月1日
株式会社フォーエンキー調べ
愛
恐
用語の定義
カスタマイズ
PHPのプログラムを書いて、
WPの処理を追加・変更すること
プラグイン
利用よりも制作する場合の話。
公式ディレクトリ登録というのも基本的に別
はじめに
‣ このセッションでは、プラグインAPIの基本と、プラグイン作
成の具体例を通じて、WordPressカスタマイズの本質と、そ
れぞれのコンポーネントの役割を正しく整理・理解します。
●
WordPress のカスタマイズにおいて、
何が難しいのか、何が簡単なのかを理解する
●
WordPress のカスタマイズ案件における、
より適した実現方法の選択や想定が出来るようになる
‣ 【対象】ディレクター、デザイナー、プログラマーを問わず
    WordPress の理解を深めたい方
WordPress の
理解を深めたい方
深めたい
ディレクターの方へ
‣ ディレクターだってWPの仕組
みを知っている方がずっと良い
●
どんどん低くなる分業の壁
‣ プラグインを無闇に使わない?
●
なんでもプラグインで実現でき
るのはWPの大きな強みですが
●
いらない機能まで入ってる
(=>重くなるし邪魔だし)
●
プラグイン同士の競合で困る
●
でもそれは、何故か?
‣ プラグインを作るという観点
●
プラグインは利用するだけでな
く作る事もできる
●
特徴・意味
●
メリット・デメリット
●
簡単な点・難しい点
‣ 業務へのフィードバック
●
より良いアプローチや手法の
選択ができるようになること
●
そのキッカケに!
デザイナーの方へ
‣ 仕組みを知ろう!
●
グラフィックデザインは
アプリケーションUIの主役
●
仕組みを知ることでこそ出
来るアプローチやデザイン
もある
●
プログラマさんに文句言わ
れそうでやりたいことが出
来なかったり
●
マジで怒られたり
‣ 目標!
●
コピペ卒業
●
テンプレートのPHPは読め
るようになる
●
簡単なフックぐらいはでき
るようになる
‣ 今日はそのキッカケに!
●
特にフック関連について注
目して頂けたらと思います
開発者の方へ
‣ プラグイン作るの難しい?
って思っていたら
●
何が簡単で、何が難しいのか
分けて理解する
●
今日の話で、そうでもなさそ
うだね、って思ってもらえる
と嬉しい
‣ WPでの受託開発
●
テーマのインプリ以上のカス
タマイズが来た時に…
●
どのようにアプローチできる
か?(選択肢を増やす)
●
どういうリスクがあるか確認
して、見積もりなどで活かせ
るように
‣ 出来ればプラグインとか作れ
るように
●
あわよくば公式公開とか目
指して
●
WPに貢献できるように
本日のお品書き
‣ プラグインとは?
●
簡単なプラグインの紹介
●
プラグインの要件と意味
●
プラグイン化する/しない
‣ WordPress のカスタマ
イズとプラグインAPI
●
フックの意味と基本
●
プラグインAPIとは?
‣ WPのカスタマイズの難し
いところ
●
WPならではの難しさ、
そしてカスタマイズの難
しさを知る
‣ まとめ
‣ おまけ
●
時間があれば!
プラグインとは?
Q作るのは、むずかしい?
(?_?)
A難しいかどうかは、
何をするか、による。
別に、「プラグイン」が難しいわけじゃない
(´・ω・`) フーン
大事
まぁ、とりあえず作ってみる
(*’д’*)イマヤルノ?
「怒れる嫁。」
(〃ノωノ)イマデショ!
<?php
/*
Plugin Name: 怒れる嫁。
*/
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
add_filter( 'the_content', 'ikareruyome' );
こんな感じで…
01
02
03
04
05
06
07
08
09
10
11
12
13
Ctrl+s
できた!
(*’д’*)コレダケ?
適当な名前でファイルに保存
↓
/wp-content/plugins/ に置く
(´・ω・`)フムフム
ちゃんと
出来てる
ちゃんとプラグインってますし
(゚д゚ ) ホンマヤネ..
プラグイン有効化 <前>
(・д・)
プラグイン有効化 <後>
ちゃんと
怒ってる
((((; ゚Д゚))) ヨメコエー
WordPress の
「プラグイン」なんて、
まぁ、こんなもの
(・д・)コレナラアッシニモデキソデス
敢え
て言って
みます
どういうことか?
プラグインの解説
プラグイン
情報ヘッダ
<?php
/*
Plugin Name: 怒れる嫁。
*/
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
add_filter( 'the_content', 'ikareruyome' );
プラグイン情報ヘッダ
‣ WPにプラグインを
認識させるために
必要な情報
‣ 最低限「Plugin Name」
があれば良い
‣ でも、いちおう普通は、
右の情報ぐらいを書く
/*
Plugin Name: 怒れる嫁。
Plugin URI: http://foreignk
Description: 嫁を怒らせます
Version: 1.0
Author: yuka2py
Author URI: https://twitter
License: GPL v2
*/
以上。
(´・ω・`)ンン?
プラグインの解説はこれで全てです。 <(_ _)>
プラグインの解説
プラグイン
情報ヘッダ
<?php
/*
Plugin Name: 怒れる嫁。
*/
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
add_filter( 'the_content', 'ikareruyome' );
ここは
無くても
プラグイン
(*’д’*)ソナノ?
プラグインはプラグイン。
もちろん何もしないけど。
処理を書かないと、もちろん何もいたしません。
WPの「プラグイン」は
ただのプログラムの置き場所。
(´・ω・`) フーン
先ほどの「こんなもの」発言は、この事について言っています。
実は
この部分は、
functions.php
に書いても動く
なので…
<?php
/*
Plugin Name: 怒れる嫁。
*/
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
add_filter( 'the_content', 'ikareruyome' );
「プラグイン」とは?
‣ プラグインは、ただの
プログラムの置き場所
●
でも↑この理解が大事!
‣ 出来る事は一緒
●
テーマのfunctions.php
に書くのと、ほとんど違
いは無い
‣ プラグインの技術要件
●
/wp-content/plugins/
にファイルを配置
●
プラグイン情報ヘッダ
これだけあれば
プラグイン
では「プラグイン」の意義は?
‣ 外観と機能の分離
●
テーマを変えてもプラグインの
機能は有効
●
機能のみを提供
●
外観はテーマ、機能はプラグイン
‣ 管理・運用面
●
プラグイン単位での管理
●
管理画面での有効化/無効化
●
プログラマ以外による、リリース
や停止が可能
‣ 開発面
●
コードの再利用性の向上
●
必然的に、プラグイン境界で分離
されたコードを書くため
●
結果、複数サイトでの再利用がし
やすくなる
●
一方で、コスト増の懸念
●
再利用しやすいコードを書くのに
は手間が掛かる
●
実際ににいろいろなサイトで使え
るようにするために、オプション
で設定ができるようにするなどの
配慮が必要になることも
じゃあ...
Qどういう時にプラグイン?
どのように判断すべきか。
A観点、対象、運用などによる。
一概には
言えない話
(立場)  (汎用性・目的)  (利用者)
プラグインにする・しない
‣ 他のサイトでも利用できそうな
汎用的な機能なら...
●
自社開発用のプラグイン
●
よくつかう機能をまとめたもの
があると便利かも?
●
先々、公式ディレクトリへの
登録を考えてプラグインに
●
個人・法人を問わず、
公式ディレクトリへの登録は
ポートフォリオとして有益
‣ サイト固有の機能は?
●
僕個人は、プラグインにせず、
PHPのモジュールにして
functions.php から require
することが多い(手軽)
(テーマを変更するという要件が無い時)
●
一方、「テーマは外観の表現に
停めるべき」との観点からプ
ラグインとして実装する方も
●
なお、公式ディレクトリに登
録するテーマの場合は、機能
実装は含まないのが原則
個人的な
考え
テーマでOKNO
テーマかな?NO
他のサイトで使える?
(汎用性ある?)
汎用的に作れるそう?
YES
あわよくば公式に公開した
り広く配布できる感じ?
YES
本格プラグイン(を目指す)
YES
プラグインにする・しない 個人的な
考え
とりあえずプラグインNO
先々どうするかわからないので、とりあえず
プラグインとして作っておくけれど、汎用化
などは考えない
まぁ とにかく、
プラグイン作るのって
ワリと簡単なんですね!
(・∀・) チョロソウッスネ
そんなワケがない。
「プラグインにする」のは簡単だけど、
プラグインの「機能を開発する」のは難しいことが多いです。
(;゚д゚)...デスヨネ....
最初の話...
難しいかどうかは、
何をするか、による。
どんなカスタマイズをするか?
じゃあ、
WordPress の
カスタマイズとは?
WordPress のカスタマイズと
プラグインAPI
プラグインは作った事なくても、
テーマを作成されたことが
ある方は多いハズ。
(;゚∀゚)モチノロンヨ..
フックしましたか?
(;゚∀゚)エット....
フックしてると良いんですが... (* - *)
コピペでも
いいです!
(;゚∀゚)ハイシマチタ....
管理画面からプラグインをインストールして利用されているまでの方も
いらっしゃるかも知れませんが、ここではいちおうそういうことで (* - *)
そのフックが
WPカスタマイズの
根幹。
(゚_゚)フムフム
「怒れる嫁。」
(´・ω・`) マタキタヨ
ここが
カスタマイズ
部分
カスタマイズ部分の解説
プラグイン
情報ヘッダ
処理を作って
WPに登録
<?php
/*
Plugin Name: 怒れる嫁。
*/
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
add_filter( 'the_content', 'ikareruyome' );
‣ 実現したい処理は、PHPで書く
‣ ここでは、単純な文字の置き換えをしてます
処理を作る
④置き換えて
⑤
返
す
②嫁という字を
③この文字列に
①ここに入っている
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
WPに登録する
‣ 作った処理を WP に実行させる為、登録する
‣ これをWordPressでは「フックする」と言う
登録するこれが
フック
add_filter( 'the_content', 'ikareruyome' );
では、フックは何をするのか?
WordPress の
仕組みのおさらい
Inside
WordPress
予め決
められた
処理
初期化
URLを解析
対応するデータを検索
対応するテンプレートを表示
WordPressの基本動作
メイン
クエリ
Request
Response
予め決められた
処理に...
割り込む!
フックのイメージ
Request
Response
初期化
URLを解析
対応するデータを検索
対応するテンプレートを表示
変更
追加
変更
変更
フック
フックは WordPress の
処理を追加・変更する
重要な仕組み
(カスタマイズする)
この仕組みの為に
用意された「道具」を
「プラグインAPI」
と言います。
「API」とは、プログラムで使える「道具」のこと。豆知識
では無い
↓
プラグインを作る道具
誤解がないように捕足
プラグインAPI
↓
WPのカスタマイズの為の
重要な道具
プラグインAPI
なので、プラグインはもとより
テーマのカスタマイズでも使う
だから、テーマの作成中に、
functions.php で
フックしたことがあるハズ。
(*゚ー゚)ナルホドネ
プラグインAPI を
詳しく。
Plugin
API
プラグインAPIとは
WordPressの処理を追加・
変更するために使う道具
‣ 2つのフック
●
アクション
●
フィルター
‣ 上書き可能なコア関数
(今回は割愛)
Codex
でも
取扱大
メインは
フック
http://codex.wordpress.org/Pluggable_Functions
2つのフック
‣ アクション
●
特定のタイミングで、
処理を追加するイメージ
‣ フィルター
●
特定のタイミングで、
既定のデータや処理を
変更するイメージ
●
変更したデータを返す
‣ 2つのフックの違いは?
●
厳密に分けるのは難し
い?
●
Codexでも説明されている
が実態と少し違うかな?
●
アクションフックでも、
pre_get_posts みたく
既定の処理変更するものも
多い。
●
なので、あまり難しく
考えないでおきましょ♪
Point
フックの名前 フックさせる関数
実行の優先順位
(未指定の時は、10)
フック関数の引数の数
(未指定の時は、1)
フックする方法
‣ add_filter() または add_action() 関数を使う
add_filter( $tag, $function,
$priority = 10, $accepted_args = 1 )
②関数にまとめて
アクションフックしてみる
フックの名前 フックするさせる関数③登録
①実現したい処理
(設定画面を追加)
function ikayome_option_menu() {
add_options_page( '怒れる嫁の設定',
'怒れる嫁の設定', admin , ikayome ,
'display_ ikayome_option_menu' );
}
add_action( 'admin_menu', 'ikayome_option_menu', 20 );
フィルターフックしてみる
②関数にまとめて
フックの名前 フックするさせる関数③登録
①実現したい処理
(文字列の置換)
アクション
と一緒
フィルターは
値を返す
function ikareruyome( $content ) {
return str_replace( '嫁',
' <font size="6">( #゚Д゚ )ヨメ</font> ',
$content );
}
add_filter( 'the_content', 'ikareruyome' );
こんなふうに、
プラグインAPIも、
簡単。
(* ゚ω゚ *)デスカネ?
まぁ、よく考えてみると、
「道具」が難しいわけはない。
(つ゚o゚⊂)タシカニ...
じゃあ、
なにが難しい?
(゚_゚)フムフム…
WordPress のカスタマイズの
難しいところ
①フックを探すのが難しい
【WPカスタマイズの何が難しい】
QWordPressには、
どんなフックがありますか?
A
一般的リクエスト中に実行
されるアクション
muplugins_loaded
plugins_loaded
sanitize_comment_cookie
s
setup_theme
load_textdomain
after_setup_theme
auth_cookie_malformed
set_current_user
init
widgets_init
register_sidebar
wp_register_sidebar_wid
get
wp_loaded
parse_request*
send_headers*
pre_get_posts*
posts_selection
wp*
template_redirect
get_header
wp_head
wp_enqueue_scripts
wp_print_styles
wp_print_scripts
get_template_part_loop
loop_start*
the_post*
loop_end*
get_sidebar
dynamic_sidebar
get_search_form
parse_query*
wp_meta
get_footer
twentyten_credits
wp_footer
wp_print_footer_scripts
shutdown
管理画面リクエスト中に実
行されるアクション
muplugins_loaded
plugins_loaded
sanitize_comment_cookie
s
setup_theme
load_textdomain
after_setup_theme
auth_cookie_valid
set_current_user
init
widgets_init
register_sidebar
wp_register_sidebar_wid
get
wp_loaded
auth_redirect
wp_default_scripts*
_admin_menu
admin_menu
admin_init
load-edit.php
parse_request*
send_headers*
parse_query*
pre_get_posts*
posts_selection
wp*
admin_xml_ns
wp_default_styles*
admin_enqueue_scripts
admin_print_styles-
edit.php
admin_print_styles
admin_print_scripts-
edit.php
admin_print_scripts
wp_print_scripts
admin_head-edit.php
admin_head
in_admin_header
adminmenu
admin_notices
restrict_manage_posts
the_post*
in_admin_footer
admin_footer
admin_print_footer_scrip
ts
wp_print_footer_scripts
admin_footer-edit.php
shutdown
投稿、ページ、添付ファイ
ル(アップロード)関連の
フィルタ
attachment_icon
get_attachment_icon
attachment_innerHTML
get_attachment_inner
content_edit_pre
excerpt_edit_pre
title_edit_pre
get_attached_file
get_enclosed
get_pages
get_pung
get_the_excerpt
get_the_guid
get_to_ping
icon_dir
icon_dir_uri
prepend_attachment
sanitize_title
single_post_title
the_content
the_excerpt
the_tags
the_title
the_content_rss
the_excerpt_rss
the_title_rss
the_editor_content
wp_dropdown_pages
wp_list_pages
wp_list_pages_excludes
wp_get_attachment_meta
data
wp_get_attachment_thu
mb_file
wp_get_attachment_thu
mb_url
wp_get_attachment_url
wp_mime_type_icon
wp_title
add_ping
attachment_max_dims
category_save_pre
comment_status_pre
content_filtered_save_pr
e
content_save_pre
excerpt_save_pre
excerpt_save_pre
ping_status_pre
title_save_pre
post_mime_type_pre
status_save_pre
phone_content
thumbnail_filename
wp_thumbnail_creation_si
ze_limit
wp_thumbnail_max_side_l
ength
update_attached_file
wp_delete_file
wp_generate_attachment
_metadata
wp_update_attachment_
metadata
コメント・トラックバッ
ク・ピンバック関連のフィ
ルター
comment_excerpt
comment_flood_filter
comment_post_redirect
comment_text
comment_text_rss
comments_array
comments_number
get_comment_excerpt
get_comment_ID
get_comment_text
get_comment_type
get_comments_number
post_comments_feed_lin
k
comment_save_pre
pre_comment_approved
pre_comment_content
preprocess_comment
カテゴリー関連のフィル
ター
category_description
category_feed_link
category_link
get_categories
get_category
list_cats
list_cats_exclusions
single_cat_title
the_category
the_category_rss
wp_dropdown_cats
wp_list_categories
pre_category_description
pre_category_name
pre_category_nicename
リンク関連のフィルター
attachment_link
get_attachment_link
author_feed_link
author_link
day_link
feed_link
get_comment_author_lin
k
get_comment_author_url
_link
month_link
page_link
post_link
the_permalink
year_link
日付・時間関連のフィル
ター
get_comment_date
get_comment_time
get_the_modified_date
get_the_modified_time
get_the_time
the_date
the_modified_date
the_modified_time
the_time
the_weekday
the_weekday_date
投稿者・ユーザー関連の
フィルター
author_email
comment_author
comment_author_rss
comment_email
comment_url
get_comment_author
get_comment_author_em
ail
get_comment_author_IP
get_comment_author_url
login_errors
login_headertitle
login_headerurl
login_message
role_has_cap
sanitize_user
the_author
the_author_email
pre_comment_author_em
ail
pre_comment_author_na
me
pre_comment_author_url
pre_comment_user_agen
t
pre_comment_user_ip
pre_user_id
pre_user_description
pre_user_display_name
pre_user_email
pre_user_first_name
pre_user_last_name
pre_user_login
pre_user_nickname
pre_user_url
registration_errors
user_registration_email
validate_username
リンク集関連のフィルター
get_bookmarks
link_category
link_description
link_title
link_rating
pre_link_description
pre_link_image
pre_link_name
pre_link_notes
pre_link_rel
pre_link_rss
pre_link_target
pre_link_url
ブログ情報・設定関連の
フィルター
all_options
bloginfo
bloginfo_rss
bloginfo_url
loginout
option_設定名
pre_option_設定名
upload_dir
upload_mimes
テキスト関連のフィルター
attribute_escape
js_escape
管理画面関連のフィルター
autosave_interval
cat_rows
comment_edit_pre
comment_edit_redirect
comment_moderation_su
bject
comment_moderation_te
xt
comment_notification_he
aders
comment_notification_su
bject
comment_notification_tex
t
cron_schedules
default_content
default_excerpt
default_title
format_to_edit
explain_nonce_動詞-名詞
format_to_edit
format_to_post
manage_link_columns
manage_posts_columns
postmeta_form_limit
pre_upload_error
preview_page_link
preview_post_link
richedit_pre
show_password_fields
the_editor
user_can_richedit
user_has_cap
wp_handle_upload
wp_upload_tabs
リッチエディター関連の
フィルター
mce_spellchecker_langua
ges
mce_buttons、
mce_buttons_2、
mce_buttons_3、
mce_buttons_4
mce_css
mce_external_plugins
mce_external_languages
tiny_mce_config_url
tiny_mce_before_init
テンプレート関連のフィル
ター
kubrick_header_color
kubrick_header_display
kubrick_header_image
locale_stylesheet_uri
stylesheet
stylesheet_directory
stylesheet_directory_uri
stylesheet_uri
template
template_directory
template_directory_uri
theme_root
theme_root_uri
その他の高度なフィルター
author_rewrite_rules
category_rewrite_rules
comments_rewrite_rules
date_rewrite_rules
post_rewrite_rules
page_rewrite_rules
search_rewrite_rules
root_rewrite_rules
mod_rewrite_rules
rewrite_rules_array
create_user_query
found_posts_query
query
query_vars
request
update_user_query
found_posts
get_next_post_join
get_next_post_sort
get_next_post_where
get_others_drafts
get_previous_post_join
get_previous_post_sort
get_previous_post_where
get_users_drafts
post_limits
posts_distinct
posts_fields
posts_groupby
posts_join_paged
posts_orderby
posts_request
posts_where_paged
posts_join
posts_where
the_posts
gettext
locale
もっっ∼っすごい、あります。
全部は知りません。
<(_ _)>
フックを探すのが難しい
‣ とにかく沢山あるので…
‣ やりたい処理ができるフック
を探すのが難しい
●
でもこれは必須!
‣ 用途に合ったフックを探すの
が難しい
●
これがいい加減だと、
後でコードを見て「なんでこん
なトコでこんなコトを?」と
ナゾになることも
‣ WPの実行順やタイミングに合
うフックを使うのも難しい
●
タイミングを間違うと効かな
い処理もあったりします。
‣ うまく早くフックを探すには、
知識・経験・勘が必要
●
とりあずは修行!
●
でも頑張って探すとWPを深く
知ることができて、それは…
②仕組みを知るのが難しい
【WPカスタマイズの何が難しい】
深入りするには仕組みの理解も
‣ WordPressの処理や構造の
理解が必要
●
単純なことをしている時はそ
うでも無いが
●
少し複雑な処理をやりだすと
WPの仕組みのしっかりとし
た理解が必要
●
少なくとも基本理解は必須
●
query_posts で
アワワワ ヽ( ;́Д`)ノ
‣ WPのソースコードも...
●
WPコアのコードは良くも悪
くもPHPライクなので読み易
いと言えば読み易いが…
●
極端に長い関数など、読み
難いものもあり、開発者
(←僕)の理解を妨げる
●
後方互換性の為に残されてい
る多くのコードや関数も、複
雑性に繋がっている?
③他のプラグインのこと考えると
 難しい。
【WPカスタマイズの何が難しい】
他のプラグインと上手くやる
‣ 他のプラグインの動作や、
そのデータを考慮する必要が
ある
●
好き勝手にルーティングを変
更したら、パン リストがヘ
ンテコ?(WPのルール)
●
フックして投稿を複製した
ら、他のプラグインが作った
カスタムフィールドがコピー
されない(独自テーブル)
●
プラグインAで行った処理が
プラグインBの処理で反映さ
れない…(実行順序)
‣ それらの対応コストを事前に
出すのが難しい
●
予期せぬ工数で
アワワワ ヽ( ;́Д`)ノ
こんなWPならではの、
難しさの他にも、
開発全般における難しさも、
普通にあったりして、
やっぱり何が難しいとは、
さっぱりとは言えない。
まぁ、システム開発全般そうではありますが (* - *)
でも、敢えて言うなら、
WPの作法に沿うこと。
難しいけれども、とても大切。
これはどんな
フレームワークでも
同じ。
でも、それが意外と難しい。
たとえばちょっとした
デザイン上のプラスαが、
ちょっとした
工数になったり。
実際これはよくあります。
無闇なプラグインの利用が、
予期せぬ
問題に繋がったりもします。
時々ありますが、インパクトが大きい…。
だから、
開発者だけでなく、
できればチームのみんなで、
理解したい WordPress。
良いサイトを作るためにも。
(o^ω^o)
チームみんなで理解したいWordPress。
ごめん。難しいって言い過ぎた!
フォローします!
去年、簡単って言ったよね?
‣ 僕は WordCamp Osaka
2012 で「WP簡単だよ」
と発表しておりますので
フォローします!
‣ 基本機能が充実!!
●
知っての通りの充実の基本
機能!Webアプリで必要な
機能がてんこもり!
‣ プラグインがあなたの
開発をサポート!
●
強力な味方のプラグイン!
(使う分には!)
●
でも無闇には使わない方が
色々と無難!
●
プラグインにUIが付属
(そのまま納品できる)
●
この辺りがいわゆるWeb
App フレームワークと大き
く違う
 もう1ページフォロー!
‣ めちゃくちゃ
開発者フレンドリー!!
(さっき少し愚痴をこぼしましたが)
●
DBのテーブル少ない
●
スキーマ見たらホッとする
●
フック多いけど、
覚えるルールは少ない
●
PHPだし構造がシンプル
だから、ワリと何とでも
なる
●
わずか数行でカスタム投稿
タイプを追加できるのは素
晴らしい
●
M○を理解するよりは、
ずいぶん簡単!
(↑あくまで個人的感想なので、
 関係者各位お許しを…)
‣ 奇麗な管理画面に萌える
‣ コミュニティ熱いよね!
まとめ
ディレクターの方へ
‣ ディレクターだってWPの仕組
みを知っている方がずっと良い
●
どんどん低くなる分業の壁
‣ プラグインの過剰利用は避ける
●
プラグイン同士の競合で困る
●
特に、同種のデータを扱う時
●
いらない機能まで入ってる
(=>重くなるし邪魔だし)
●
独自のカスタマイズを難しく
する。リスクやコストの増加
‣ カスタマイズの実装をプラグイ
ン化することも検討できる
●
プラグイン化自体は簡単
●
機能と外観の分離
●
汎用性を高めるという点で、
難易度は上がる
●
プラグイン化するメリット
●
受託開発したものをベースに、
公式プラグイン作成
●
ポートフォリオを豊かに
●
有償サポートをビジネスに
デザイナーの方へ
‣ 仕組みを知る事で自由を
●
グラフィックデザインは
アプリケーションUIの主
役
●
仕組みを知ることでこそ
出来るアプローチやデザ
インもある
●
プログラマさんに文句言
われそうでやりたいこと
が出来なかったり
●
マジで怒られたり
‣ 今日はプラグインAPI中心
のお話しでしたが…
●
フックはWordPressのカ
スタマイズの根幹
●
コピペを卒業するために
もフックの理解は必要
●
今日の話で少しでも理解
が進むと嬉しいです
開発者の方へ
‣ 凝ったWPカスタマイズの打診
があったとき
●
他に導入されるプラグインを確
認し、リスクを想定する
●
同種のデータを扱うものは注意
●
想定が難しい時は、クライアン
トとも相談
‣ プラグイン開発を受注したら
●
プラグイン化の目的を確認する
●
汎用化の度合いをクライアント
と擦り合わせる
‣ プラグイン化を考えよう!
●
プラグイン化も有用な実装手段
の一つ
●
せっかく書いたコード、再利
用しやすくしない手はない
●
汎用化など、難しいところも
あるが、結果、WPをもっとよ
く理解できる
●
せっかくだから、公式にアップ
できるようになろう!
(・∀・) オマエモナ
おまけ
フックの探し方。
僕の
フック名が分かる時
‣ http://adambrown.info/
p/wp_hooks/version/3.5
‣ ブラウザの検索で探せる
‣ サイトでソースまで閲覧で
きるので
●
引数の確認
●
意味合いの確認
処理の流れで探したい時
‣ Debug Bar Actions and
Filters Addonプラグイン
‣ その画面で、呼ばれている
アクションフックが、呼ば
れている順で確認出来る
●
あるタイミングで処理する
フックを探したい時
●
フックの意味を確認したい
雰囲気?で探したい時
‣ ソースを検索する
●
WordPress全体を検索
する(正規表現を使う)
●
「なんとなくこんな処理
がしたいんだけどフック
あるかな?」的な時便利
‣ 地道にソースを追う
●
それっぽい場所のソース
を開いて読むと、意外な
発見があったりする
(do_action¦apply_filters)(_ref_array)?( ?['"][_'"w]*検索文字列
フック検索
正規表現
道具は色々。
知っ得
WPのプログラムの道具は
Plugin API
Shortcode API
Widget API
Database API
- Metadata API
- Options API
- Transients API
Settings API
Theme Modification API
Theme Customization API
Quicktags API
Rewrite API
HTTP API
File Header API
File System API
Dashboard Widget API
XML-RPC WordPress API
etc...etc...
他にもいろいろ、
在る。
http://wpdocs.sourceforge.jp/WordPress_API
from
Codex
他にも、wpdb や WP_Query 、wp-cron、
wp_mail や あと i18n も APIだと思うので、
実際もっとたーーーーーーっくさんある!
WordPress の API (1)
‣ Plugin API
●
WordPressの既定の処理
を変更する
‣ ShortCode API
●
投稿本文で使えるマクロ
スクリプトの登録
‣ Widget API
●
ウィジェットの作成
‣ Database API
●
Metadata API
カスタムフィールドなど、
post/user/comment に
付帯するメタ情報の管理
●
Option API
アプリケーションの
オプション値などを保存
●
Transients API
一時キャッシュの為のAPI
WordPress の API (2)
‣ Settings API
●
プラグインやテーマの独自の管
理画面の作成をサポートする
‣ Theme Modification API
●
カレントテーマ固有のオプショ
ン値を取得・保存
‣ Theme Customaization
API
●
テーマカスタマイザーの準備や
拡張
‣ Quicktags API
●
投稿編集画面のビジュアルエ
ディタに機能を追加
‣ Rewrite API
●
URLルーティングの追加・変
更
‣ HTTP API
●
http GET/POST/Other.. でリ
モートサーバーのデータを取得
WordPress の API (3)
‣ File Header API
●
テーマやプラグインのメタ情報
を取得
‣ File System API
●
ローカルの他、FTP、SSH2な
どでのファイルアクセス
‣ ダッシュボードウィジェット
API
●
管理画面ダッシュボードにウィ
ジェットを追加
‣ XML-RPC WordPress API
●
XML-RPC を使った Web API
インターフェース
ご清聴、ありがとうございました!
@yuka2py
この文書は クリエイティブ・コモンズ 表示 - 継承 2.1 日本 ライセンスの下に提供されています。

More Related Content

What's hot

HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発tomo_masakura
 
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...Kazuhiro Hara
 
HTML5 開発環境の紹介
HTML5 開発環境の紹介HTML5 開発環境の紹介
HTML5 開発環境の紹介tomo_masakura
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiHisateru Tanaka
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリー第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリーTakuya Oikawa
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPressYutaro Miyazaki
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介Takashi Uemura
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?Fumio SAGAWA
 
Chrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはChrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはYosuke HASEGAWA
 
WordPressプラグインの作り方
WordPressプラグインの作り方WordPressプラグインの作り方
WordPressプラグインの作り方Takami Kazuya
 
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪Chieko Aihara
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!yoshikawa_t
 
2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYOTakashi Kitamura
 
International php conference 2016 参加レポート
International php conference  2016 参加レポートInternational php conference  2016 参加レポート
International php conference 2016 参加レポートRyosuke Miyahara
 
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるテーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるTsuyoshi.
 
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようMojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようcharsbar
 
20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?Tetsuo Mitsuda
 

What's hot (20)

HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考 |...
 
HTML5 開発環境の紹介
HTML5 開発環境の紹介HTML5 開発環境の紹介
HTML5 開発環境の紹介
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリー第49回HTML5勉強会 Google I/O 2014サマリー
第49回HTML5勉強会 Google I/O 2014サマリー
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介WordPress 多言語化プラグインqTranslateの紹介
WordPress 多言語化プラグインqTranslateの紹介
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
Chrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはChrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるには
 
HTML5 のお話
HTML5 のお話HTML5 のお話
HTML5 のお話
 
WordPressプラグインの作り方
WordPressプラグインの作り方WordPressプラグインの作り方
WordPressプラグインの作り方
 
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
 
2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO2014/03/29 WordBench TOKYO
2014/03/29 WordBench TOKYO
 
International php conference 2016 参加レポート
International php conference  2016 参加レポートInternational php conference  2016 参加レポート
International php conference 2016 参加レポート
 
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考えるテーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
 
Mojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみようMojolicious::Liteを使ってみよう
Mojolicious::Liteを使ってみよう
 
20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?20120915 Pythonは本当にBlenderの役に立っているか?
20120915 Pythonは本当にBlenderの役に立っているか?
 

Viewers also liked

Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5dynamis
 
Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪Yuji Nojima
 
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会Yuji Nojima
 
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクションYuji Nojima
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)Horiguchi Seito
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 

Viewers also liked (6)

Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪Chromeでjavascriptデバッグ!まず半歩♪
Chromeでjavascriptデバッグ!まず半歩♪
 
今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会今日から使える! Sass/compass ゆるめ勉強会
今日から使える! Sass/compass ゆるめ勉強会
 
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
簡単!低コスト!楽しい!レスポンシブ デザイン ディレクション
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 

Similar to Wp プラグインapiから理解するword press.share

退職PDFメーカーの作り方
退職PDFメーカーの作り方退職PDFメーカーの作り方
退職PDFメーカーの作り方Yo Ya
 
20090124shibuya Trac
20090124shibuya Trac20090124shibuya Trac
20090124shibuya TracKazuya Hirobe
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺Shogo Kawahara
 
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料東海GTUG 20110910発表資料
東海GTUG 20110910発表資料Kenji NAKAGAKI
 
Webデザイナーのためのphp wordpress
Webデザイナーのためのphp wordpressWebデザイナーのためのphp wordpress
Webデザイナーのためのphp wordpressgalluda
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hackyut148atgmaildotcom
 
YYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビューYYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビュー宜浩 香月
 
はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会Takahiro Nakahata
 
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門柴田 篤志
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにinvogue
 
今日から始めるPython
今日から始めるPython今日から始めるPython
今日から始めるPythonKeisuke Imura
 
最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所Ryu Shindo
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門Hiroaki Murayama
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかHisateru Tanaka
 
デザインデータの扱い方とFireworksのそれっぽい使い方
デザインデータの扱い方とFireworksのそれっぽい使い方デザインデータの扱い方とFireworksのそれっぽい使い方
デザインデータの扱い方とFireworksのそれっぽい使い方Kazuaki Hidaka
 
NetBeans plugin for wordpress
NetBeans plugin for wordpressNetBeans plugin for wordpress
NetBeans plugin for wordpressJunichi Yamamoto
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapiku_taka
 
Python東海GAEやってみた
Python東海GAEやってみたPython東海GAEやってみた
Python東海GAEやってみたMori Shingo
 

Similar to Wp プラグインapiから理解するword press.share (20)

退職PDFメーカーの作り方
退職PDFメーカーの作り方退職PDFメーカーの作り方
退職PDFメーカーの作り方
 
20090124shibuya Trac
20090124shibuya Trac20090124shibuya Trac
20090124shibuya Trac
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
 
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料東海GTUG 20110910発表資料
東海GTUG 20110910発表資料
 
Webデザイナーのためのphp wordpress
Webデザイナーのためのphp wordpressWebデザイナーのためのphp wordpress
Webデザイナーのためのphp wordpress
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
YYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビューYYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビュー
 
はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会
 
一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門一六社ブログ-プラグイン作成入門
一六社ブログ-プラグイン作成入門
 
PHP With Windows binary
PHP With Windows binaryPHP With Windows binary
PHP With Windows binary
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
 
今日から始めるPython
今日から始めるPython今日から始めるPython
今日から始めるPython
 
最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所最大公約数的なServiceWorker制作から見るPWAの勘所
最大公約数的なServiceWorker制作から見るPWAの勘所
 
WordPressで始めるphp入門
WordPressで始めるphp入門WordPressで始めるphp入門
WordPressで始めるphp入門
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
 
デザインデータの扱い方とFireworksのそれっぽい使い方
デザインデータの扱い方とFireworksのそれっぽい使い方デザインデータの扱い方とFireworksのそれっぽい使い方
デザインデータの扱い方とFireworksのそれっぽい使い方
 
Rubykaigi2010
Rubykaigi2010Rubykaigi2010
Rubykaigi2010
 
NetBeans plugin for wordpress
NetBeans plugin for wordpressNetBeans plugin for wordpress
NetBeans plugin for wordpress
 
Start python with fastapi
Start python with fastapiStart python with fastapi
Start python with fastapi
 
Python東海GAEやってみた
Python東海GAEやってみたPython東海GAEやってみた
Python東海GAEやってみた
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Wp プラグインapiから理解するword press.share