狠狠撸

狠狠撸Share a Scribd company logo
WordPress と jQuery
2013/05/19 瀬戸 貴弘
自己紹介
Twenty Thirteen
jQuery
瀬戸 貴弘
Twitter
: as.chachamaru
: エンジニア
: @as_chachamaru
Facebook
職業
Android アプリ (Java )
Web アプリ (PHP ? MySQL)
WordPress
その他
最近の使っている開発言語(仕事?プライベート)
jQueryWordPress本体のjQuery
WordPress本体には標準でjQueryが組み込まれており、自由に使える仕組みがあります。
デフォルトテーマを含め、WordPress本体のjQueryを使っているテーマもたくさんあります。
jQueryWordPress本体に組み込まれているJQuery
<script type='text/javascript' src=/slideshow/wp-jquery/21528181/&
<script type='text/javascript' src='http://XXXX/wp-includes/js/jquery/jquery-migrate.js?ver=1.1.1'></script>
テーマTwentyThirty のソースをみてみます。jquery.js を読み込むスクリプトコードがあります。
jQueryWordPress本体に組み込まれているJQuery
http://XXXX/wp-includes/js/jquery/jquery.js?ver=1.9.1
jQueryを読み込んでいるURLをみれば本体のjQueryかどうかわかります。Wp-includes にあるjquery.js は本体の
jQueryです。jQueryがうまく動作しないとき、本体のjQueryを使っていることが原因のこともありますので判断できる
ようにしてください。
jQueryWordPress本体に組み込まれているjQuery
WordPress本体のjQueryを使って
        
    簡単なサンプルコードを記述してみる
WordPress本体のjQueryを使って動作をみてみます。
WordPress本体に組み込まれているjQuery
http://semooh.jp/jquery/api/css/css/name%2C+value/
jQuery
検索すればjQueryのサンプルコードがたくさん見つかります。
今回は「jQuery日本語リファレンス」のサンプルコードを実行してみます。
jQueryWordPress本体に組み込まれているjQuery
投稿にサンプルコードを記述します。    ※javascript部分は Custom CSS and JavaScript プラグイン使用
pタグで囲まれた文字をマウスオーバで赤色にする。
$(function(){
});
WordPress本体に組み込まれているjQuery jQuery
投稿に記述した内容が反映されていることが確認できます。
pタグ
ソースには
<script type="text/javascript">
/* <![CDATA[ */
$(function(){
$("p").mouseover(function () {
$(this).css("color","red");
});
});/* ]]> */
</script>
WordPress本体に組み込まれているjQuery jQuery
マウスオーバでテキストが赤くなるはずだがならない! なぜ?
pタグで囲まれた文字をマウスオーバしてみます。文字色が赤くなるはずです。
しかし、赤くなりませんでした。なぜでしょう?
ソースには
<script type="text/javascript">
/* <![CDATA[ */
$(function(){
$("p").mouseover(function () {
$(this).css("color","red");
});
});/* ]]> */
</script>
WordPress本体に組み込まれているjQuery
Google Chrome の Developer Tools でみてみると Javascript エラーになっています。
jQuery
'$' は関数ではない!というエラーです。
WordPress本体に組み込まれているjQuery
Firefox の firebug でみると '$' は定義されていないことがわかります。
jQuery
注目
WordPress本体に組み込まれているjQuery
jQuery のリファレンスでは’$’を使ってくださいと書いてます。
しかしWordPress本体のjQueryでは' $ ' が使えないと言われました。
jQuery
jQuery リファレンス
通りに書いたのに
なぜ動かないんだ!
WordPress本体に組み込まれているjQuery
WordPress本体のjQuery と jQuery公式サイトからのjQuery を 比較ツールで差分をみてみました。
 ※jQuery ダウンロード : http://jquery.com/download/
jQuery
WordPress本体 jQuery公式
WordPress本体に組み込まれているjQuery jQuery
WordPress本体のjQueryは語尾に次のコードが追加されている。
jQuery.noConflict();
同じバージョンなので差分がないと思われましたが違いがでてきました。
この違いが、WordPress本体のjQueryでは'$'が使えない原因となります。
WordPress本体に組み込まれているjQuery jQuery
http://semooh.jp/jquery/api/core/jQuery.noConflict/_/
'$' がprototype.js など他のライブラリで定義されていればその関数の意味になるし、未定義なら未定義のまま。
この関数を実行すると、$関数の動作が先に定義されている動作に戻る。
jQuery 日本語リファレンスでは上記のように書かれています。
WordPress本体に組み込まれているjQuery jQuery
jQueryの'$'関数が使えなくなったら困る!
       どうしたらいいの?
WordPress本体に組み込まれているjQuery jQuery
'jQuery' という function() が存在することがわかります。 これは '$' と同じ意味なので代わりに使えます。
注目
WordPress本体に組み込まれているjQuery jQuery
【対策1】 '$’ を 全て 'jQuery' に置き換えます。 マウスオーバで文字が赤く変わることが確認できます。
jQuery(function(){
jQuery("p").mouseover(function () {
jQuery(this).css("color","red");
});
});
$(function(){
$("p").mouseover(function () {
$(this).css("color","red");
});
});
WordPress本体に組み込まれているjQuery jQuery
【対策2】 (function($) { ????? })(jQuery); で囲みます。 マウスオーバで文字が赤く変わることが確認できます。
(function($) {
$(function(){
$("p").mouseover(function () {
$(this).css("color","red");
});
});
})(jQuery);
$(function(){
$("p").mouseover(function () {
$(this).css("color","red");
});
});
WordPress本体に組み込まれているjQuery jQuery
【結論】
コンフリクト(衝突)対策
WordPress本体のjQueryは
されてるから気をつけてください。
息抜き jQuery
ここで一区切り。リフレッシュ!ここで一区切り。リフレッシュ!ここで一区切り。リフレッシュ!ここで一区切り。リフレッシュ!
クイズしてみよう! jQuery
あ
A
【ルール】
箱があります。箱には箱固有の識別子が書かれています。
左の箱ではAが箱の識別子になります。
箱固有の識別子は変更されることはありません。
箱には文字が書かれています。
左の箱では「あ」になります。
クイズしてみよう! jQuery
あ
A
【ルール】
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
文字しゃべる君というおもちゃ
があります。右の文字の箱を
文字しゃべる君にセットすると
セットした順番にしゃべってくれ
ます。
クイズしてみよう! jQuery
【ルール】
あ
A
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(A)
追(C)
追(E)
削(C)
追(B)
紙には文字しゃべる君へのセット順番が書かれています。
追(A) とは、識別子Aの箱をセットするという意味です。
削(C) とは、识别子颁の箱を削除します。
クイズしてみよう! jQuery
【ルール】
え
D
文字の箱
文字しゃべる君
追(A)
追(C)
追(E)
削(C)
追(B)
い
B
お
E
あ
A
う
C
あおい
サンプルです。文字の箱を文字しゃべる君にセットしていきます。箱は削除したら再度使えません。
クイズしてみよう! jQuery
【問題】 みなさんで問題を解いてみましょう!
あ
A
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(A)
追(B)
追(C)
削(A)
追(D)
削(C)
なんとしゃべるでしょうか?
クイズしてみよう! jQuery
【解答】
お
E
文字の箱
文字しゃべる君
追(A)
追(B)
追(C)
削(A)
追(D)
削(C)D
え
う
C
い
B
あ
A
いえ
クイズしてみよう! jQuery
【ルール追加】
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(A , か)
追(F , き)
ルールを追加します。追(識別子 , 文字)の形式は箱を新しく作ってか
ら、その箱を文字しゃべる君にセットします。 ただし、既に指定した識別
子の箱がある場合は新たに箱は作れず既存の箱をセットします。箱の
名前の重複は認めません。
Aは既にあるので新たに作れない
Fはないので箱を新たに作れるF
き
あ
A
クイズしてみよう! jQuery
【問題】 みなさんで問題を解いてみましょう!
あ
A
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(A)
追(E,た)
追(F,さ)
削(A)
追(A,け)
なんとしゃべるでしょうか?
クイズしてみよう! jQuery
【解答】
い
B
う
C
え
D
文字の箱
文字しゃべる君
追(A)
追(E,た)
追(F,さ)
削(A)
追(A,け)
A
け
F
さ
お
E
あ
A
おさけ
名前Eの箱は既に存在します。なので新しく作れません。既存のEの箱をセットします。
名前Fの箱は元々ありませんでした。なので新しく作れます。作ってセットします。
名前Aの箱は元々ありましたが削除されています。なので名前Aの箱は存在しないので新しく作ることができます。
クイズしてみよう! jQuery
【ルール追加】
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(F , き, A)
ルールを追加します。
追(識別子 , 文字 , 関連)の形式は、依存として必ず一緒でなけ
ればならない箱の識別子を指定します。関連先の箱も一緒にセット
されそちらが先になります。
F
き
あ
A
あ
A
クイズしてみよう! jQuery
【ルール追加】
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(F , き, A)
F
き
あ
A
あ
A
人に例えます。Fさんは新人さんでまだ一人では何もできません。なのでAさんを頼ることにしました。
Fさんは必ずAさんと一緒に行動します。そして頼れるAに先導してもらいます。
追(F , き, A) では、FはAと必ず一緒に行動しますのでFとAの箱がセットされます。そして頼りがいのあるAが先です。
クイズしてみよう! jQuery
【問題】 みなさんで問題を解いてみましょう!
あ
A
い
B
う
C
え
D
お
E
文字の箱文字しゃべる君
追(F , た, A)
削(B)
追(B , ま)
なんとしゃべるでしょうか?
クイズしてみよう! jQuery
【解答】
う
C
え
D
お
E
文字の箱
文字しゃべる君
追(F , た, A)
削(B)
追(B , ま)
B
ま
F
た
あたま
あ
A
FはAと必ず一緒になります。そしてAの方が先になるので A→F の順で箱がセットされます。
Bの箱は元々ありましたが削除されました。新しくBの名前で作っても重複がおこらないので作れます。
クイズしてみよう! jQuery
文字しゃべる君 BOSS
0 1
文字しゃべる君が進化した!
並列作業ができるようになりました。
0番にセットした文字 + 1番にセットした文字
をしゃべってくれます。
お
E
D
え
う
C
い
B
あ
A
あいうえお
クイズしてみよう! jQuery
【ルール追加】
あ
A
い
B
う
C
え
D
お
E
文字の箱
追(A , , ,1)
ルールを追加します。
追(識別子 , 文字 , 関連 , 対象) の形式は、文字をセットする対象を
選択できるようになりました。対象を指定しない場合は0を対象と
します。
文字しゃべる君
BOSS
0 1
あ
A
クイズしてみよう! jQuery
【問題】 みなさんで問題を解いてみましょう!
あ
A
い
B
う
C
え
D
お
E
文字の箱
追(D)
追(F,,,1)
追(G,つ, E)
削(D)
追(H,れ,,1)
なんとしゃべるでしょうか?
文字しゃべる君
BOSS
0 1
F
か
クイズしてみよう! jQuery
【解答】
文字しゃべる君BOSS
0 1
あ
A
い
B
う
C
文字の箱
追(D)
追(F,,,1)
追(G,つ, E)
削(D)
追(H,れ,,1)
え
D
H
れ
F
か
G
つ
お
E
おつかれ
FとHが右側に、それ以外が左側にセットされることがわかれば、後は今までと同じです。
息抜き jQuery
WordPresWordPresに戻ろう!に戻ろう!WordPresWordPresに戻ろう!に戻ろう!
WordPress と jQuery
Twenty Thirteen はごちゃごちゃしてるので、jQuery検証用の簡単なテーマを作ってみました。
※ style.css と index.php のみ。 テーマ名 「Super simple」
/*
Theme Name: Super simple
Author: seto
Description: 勉強会用
*/
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
jQuery
style.css Index.php
WordPress と jQuery
Index.php の構成をわかりやすく図にします。特に wp_head() と wp_footer() の存在に注目してください。
wp_head()
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_footer()
jQuery
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery jQuery
WordPress3.6 β3 + テーマSuper simple でサイト表示させると、こんな感じになります。
ソースにjQuery.js が読み込まれてないことにも注目してください。
つまり、wp_head() や wp_footer() を記述するだけでは jquery.js は読み込まれません。
jQuery
xxx/jquery.js
jquery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
さらに図を変えてみます。見覚えのある図になりましたね。wp_head や wp_footer が箱をセットする場所です。
WordPress には最初からスクリプトの入った箱がいくつか準備されています。 【デフォルトScripts】 http://p.tl/xX26
?
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
WordPress標準のスクリプトを使うには箱の名前を知る必要があります。 【デフォルトScripts】 http://p.tl/xX26
WordPress と jQuery jQuery
箱の名前 箱の中
jQueryWordPress と jQuery
WordPress本体のjQuery を
         読み込んでみましょう!
<script type='text/javascript' src=/slideshow/wp-jquery/21528181/&
jQuery
xxx/jquery.js
jquery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
jqueryという名前の箱を wp_head() の位置にセットします。箱の中のスクリプトが出力されます。
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
?
?
追(jquery)
登録スクリプト
xxx/jquery.js
jquery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
?
?
追(jquery)
jQueryWordPress と jQuery
wp_enqueue_script('jquery');
「追」はWordPressでは使えません。代わりに「wp_enqueue_script」を使います。
WordPress と jQuery
wp_head() より上に wp_enqueue_script('jquery') を記述します。
wp_head() の場所でセットされているスクリプトを出力するので、wp_head() より後に記述してはいけません。
wp_head()
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_enqueue_script('jquery'); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_footer()
jQuery
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
xxx/jquery.js
jquery
WordPress と jQuery
出力されたソースをみてみます。
jquery.js を読み込むスクリプトが出力されていることがわかります。
jQuery
jQueryWordPress と jQuery
既にwp_head() を使って
     jQuery が 読み込まれている。
<script type='text/javascript' src=/slideshow/wp-jquery/21528181/&
このjQuery 削除したいな???
jQuery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
箱の名前を指定して削除します。
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
?
?
xxx/jquery.js
jquery
削(jquery)
登録スクリプト
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
?
?
xxx/jquery.js
jquery
削(jquery)
jQueryWordPress と jQuery
「削」はWordPressでは使えません。代わりに「wp_deregister_script」を使います。  
xxx/jquery.js
jquery
wp_deregister_script('jquery');
WordPress と jQuery
wp_head() より上に wp_enqueue_script('jquery') を記述します。
そして、その下に wp_deregister_script('jquery') を記述して削除します。
wp_head()
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_enqueue_script('jquery'); ?>
<?php wp_deregister_script('jquery'); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_footer()
jQuery
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
xxx/jquery.js
jquery
WordPress と jQuery
出力されたソースをみてみます。 
jquery.js を読み込むスクリプトが出力されていないことがわかります。 
jQuery
jQueryWordPress と jQuery
ここでちょっと検証!
次のようにしたらどうなる?
<?php wp_deregister_script('jquery'); ?>
<?php wp_enqueue_script('jquery'); ?>
<?php wp_head(); ?>
削除してからセット処理
jQuery
xxx/jquery.js
jquery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
削除した箱をセット依頼するとどうなるか?
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
?
?
追(jquery)
登録スクリプト
 存在しない
WordPress と jQuery
出力されたソースをみてみます。 
jquery.js を読み込むスクリプトが出力されていないことがわかります。 削除されてるので当然な結果です。
jQuery
jQueryWordPress と jQuery
既にwp_head() を使って
     jQuery が 読み込まれている。
<script type='text/javascript' src=/slideshow/wp-jquery/21528181/&
このjQuery を変更したいな???
http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
jQueryWordPress と jQuery
wp_enqueue_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');
wp_enqueue_script('jquery' , スクリプトのパス);
第2パラメータにスクリプトへのパスを指定します。同じ箱の名前がなければ新しく作りセットします。
既に同じ名前の箱があれば、既存の箱(※パスを上書きしない)でセットします。
追(jquery , パス)
WordPress と jQuery
上記のようにwp_enqueue_script('jquery' , jquery.jsの新パス) を追加しました。どうなるでしょう。
 ※ jquery.jsの新パス : http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
wp_head()
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_enqueue_script('jquery' , jquery.jsの新パス); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_footer()
jQuery
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
jquery.jsのパス
jquery
WordPress と jQuery jQuery
変わってない!
  なぜ?
jQueryのスクリプトパスをみてください。wp-includeからになっています。
つまり、WordPress標準のjQueryです。なぜ新パス変わっていないのでしょう。
jQuery
xxx/jquery.js
jquery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
jqueryという名前の箱は既にあるので新しく作ることはできません。 既存の箱が使われます。
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
?
?
追(jquery , ●●●)
登録スクリプト
既にjqueryという
名前の箱はある
x
jQueryWordPress と jQuery
じゃ どうすればいいか
jQuery
xxx/jquery.js
jquery
jquery-ui-core
WordPress標準に含まれている箱
Wordpress
xxx/jquery.ui.core.min.js
jqueryという名前の箱が既にあるなら、削除しちゃえばいい!そうすれば同じ名前の箱がありません。
?
?
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
?
?
追(jquery , ●●●)
登録スクリプト
jQueryという名前の
箱がなければいい
削
WordPress と jQuery
まず、wp_deregister_script('jquery') を記述して既存のjqueryという名前の箱を削除します。
そうすれば wp_enqueue_script('jquery' , jquery.jsの新パス) で新しい箱が作れます。
wp_head()
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_deregister_script('jquery'); ?>
<?php wp_enqueue_script('jquery' , jquery.jsの新パス); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_footer()
jQuery
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
xxx/jquery.js
jquery
jquery.jsの新パス
jquery
WordPress と jQuery
出力されたソースをみてみます。 
jQueryの読込先が http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js に変わっているのがわかります。
jQuery
jQueryWordPress と jQuery
アコーディオンを使ったUIを作りたいな???
jQuery UI を読み込んでみよう!
http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js
jQueryWordPress と jQuery
ポイント
jQuery UI は jQuery本体に依存するライブラリです。
jQuery本体がなければ動作しません。
jqueryuiさんは新人さんでまだ一人では何もできません。なのでjqueryさんを頼ることにしました。
jqueryuiさんは必ずjqueryさんと一緒に行動します。そして頼れるjqueryに先導してもらいます。
頼りがいのあるjqueryさんが先です。
追(jqueryui , ●●, jquery)
jQuery
jquery-ui-core
xxx/jquery.ui.core.min.js
?
?
Wordpress
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
WordPress と jQuery
?
?
追(jqueryui , ●●● , jquery )
登録スクリプト
xxx/jquery.js
jquery
jQuery UI はjQueryをベースとしたライブラリなので、jQueryと一緒になります。関連としてjQueryを設定しておきます。
なお jQuery UIはWordPressに標準で準備されていますが、今回はjqueryuiという名前の箱で新規に作ります。
関
jQueryWordPress と jQuery
wp_enqueue_script(
'jqueryui' ,
'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js',
array('jquery')
);
wp_enqueue_script(
'jqueryui' , スクリプトのパス , array('jquery')
);
jqueryui は 箱の名前なので重複しなければ何でもOK!
第3引数に関連する箱の名前を指定します。配列なのは関連する箱がいくつも指定できるためです。
追(jqueryui , ●●, jquery)
WordPress と jQuery
関連でjqueryを指定しているので、jqueryui の箱をセットするときに一緒にjqueryもセットされます。
jqueryの箱の方が先にセットされます。jQuery本体が先に読まれるので動作に問題はありません。
wp_head()
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_enqueue_script('jqueryui' ,●●. array('jquery')); ?>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_footer()
jQuery
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
jquery-ui.min.jsのパス
jqueryui
jquery.jsのパス
jquery
WordPress と jQuery
出力されたソースをみてみます。 jQuery UI だけでjQueryの読込みも行われていることがわかります。
jquery.js が先で jquery-ui.min.js が後に読込まれています。
jQuery
jQueryWordPress と jQuery
ここでちょっと検証!
次のようにしたらどうなる?
<?php wp_enqueue_script(
     'jqueryui' ,
     '●●●/jquery-ui.min.js',
array('jquery')
    ); ?>
<?php wp_enqueue_script('jquery'); ?>
<?php wp_head(); ?>
jQueryWordPress と jQuery
<?php wp_enqueue_script(
     'jqueryui' ,
     '●●●/jquery-ui.min.js',
array('jquery')
    ); ?>
<?php wp_enqueue_script('jquery'); ?>
<?php wp_head(); ?>wp_head()
</head>
<head>
jquery-ui.min.jsのパス
jqueryui
jquery.jsのパス
jquery
無視
同じ箱では重複セットはできません。2度目以降は無視されます。
WordPress と jQuery
jQueryの読み込まれる位置が変わったり、二重に読み込まれていないことがわかります。
jQuery本体を先に読み込まないと動かないライブラリなどは、読み込む順番が大事ですので
関連を指定しておけばトラブルを少なくできます。
jQuery
jQueryWordPress と jQuery
ここでちょっと検証!
次のようにしたらどうなる?
<?php wp_enqueue_script(
     'jqueryui' ,
     '●●●/jquery-ui.min.js',
array('jquery')
    ); ?>
<?php wp_deregister_script('jquery'); ?>
<?php wp_enqueue_script('jquery' , jquery.jsの新パス); ?>
<?php wp_head(); ?>
jquery.js + jquery-ui.min.js をセットした後に このjquery.jsを削除しています。そして新パスのjquery.jsをセットします。
Jquery-ui.min.js → jquery.js の順番になっているようにみえますがどうなるでしょうか。
WordPress と jQuery jQuery
関連指定の威力すごいですね。優先順位がきちんと維持されています。
トラブルを減らすためにも関連指定はぜひしといてください。
jQueryWordPress と jQuery
wp_enqueue_script の
おまけ
jQueryWordPress と jQuery
wp_enqueue_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js');
wp_enqueue_script('jquery' , スクリプトのパス);
新しい箱を作ってセットしました。ソースをみてみるとスクリプトURLの語尾にver=3.6-beta3ってついています。
Ver=3.6-beta3 って何だ?
実はデフォルトではWordPressのバージョンが付与されます。動作には影響ないのですが気になりますね。
jquery.min.js?ver=3.6-beta3
jQueryWordPress と jQuery
wp_enqueue_script(
   'jquery',
   'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
array(),
'1.9.1'
);
第4引数でバージョンを指定することで変更できます。
バージョンが指定した1.9.1に変わっていることがわかります。
jquery.min.js?ver=1.9.1
注目
jQueryWordPress と jQuery
wp_enqueue_script の
おまけ2
jQueryWordPress と jQuery
wp_enqueue_script(
   'jquery',
   'http:/xxxxxxxx/jquery/1.9.1/jquery.min.js',
array(),
'1.9.1',
true
);
第5引数でtrueを指定すると wp_footer() の位置にセットします。
上記サンプルはjquery.jsなので基本 wp_footer() にはセットしないが他のライブラリなどでは使う場合があります。
wp_head()
wp_footer()
<!DOCTYPE html>
<body>
</body> </html>
</head>
<head>
注目
jQueryWordPress と jQuery
$handle スクリプトに使われるハンドル名
$src スクリプトのURL
$deps このスクリプトと関連(依存)するスクリプトのハンドル名
$ver スクリプトのバージョン
$in_footer wp_footer() 位置ならtrue
パラメータ
wp_enqueue_script
http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Parameters
もうひといき jQuery
もう少しで終わるよ。がんばろう!もう少しで終わるよ。がんばろう!もう少しで終わるよ。がんばろう!もう少しで終わるよ。がんばろう!
WordPress と jQuery jQuery
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<script src=/slideshow/wp-jquery/21528181/"http:/ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<?php wp_head(); ?>
<script>$(function(){alert(jQuery().jquery);});</script>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
Index.php
wp_enqueue_script難しい
一度も使わないなら
直接書いても問題ないよね?
注目
WordPress と jQuery jQuery
ほら!ソースも問題ないし
jQueryで記述した処理も問題ない
※ <script>$(function(){alert(jQuery().jquery);});</script>
   jQueryのバージョンを表示する。
jQueryWordPress と jQuery
??? そして数日後
ブラッシュアップ
    したいな!
何か見た目良くするプラグイン探そう!
ってことになったら???
WordPress と jQuery jQuery
そのプラグインが
jQueryを使ってたりしたら???
このプラグインをインストールして有効にします。jQueryを使うプラグインです。
WordPress と jQuery jQuery
プラグインがjQueryを使い、wp_head() に jquery.jsを読み込むスクリプトが挿入されると厄介!
jQueryの二重読み込みになり処理が重くなります。さらに異なるバージョンで上書きされて動作に影響ないですか?
WordPress と jQuery jQuery
$(function() ??? に注目! WordPress 標準の jQueryで上書きされてのになぜ $関数が使えるの?
jQuery.noConflict(); の意味覚えていますか?上書きされる前の $関数の意味に戻すことです。
WordPress標準のjQueryで上書きされる前の$関数の意味って今回は何?
直前なので jQuery1.8.1(直書き) が定義した $関数です。
試しに $(function() { alert($().jquery);}); とするとアラート画面に 1.8.1 と表示されます。
$関数使ったところは1.8.1のjQurery , jQuery関数使ったところは1.91のjQuery。どんな動作するかは全くわかりませんw
注目
jQueryWordPress と jQuery
このままではいけないので
     対策しないと???
WordPress と jQuery jQuery
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php wp_deregister_script('jquery'); ?>
<script src=/slideshow/wp-jquery/21528181/"http:/ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<?php wp_head(); ?>
<script>$(function(){alert(jQuery().jquery);});</script>
</head>
<body <?php body_class(); ?>>
ヘッダー
<hr><hr>
<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
【<?php echo the_title(); ?>】<br>
<?php the_content(); ?><hr>
<?php endwhile; ?>
<?php else : ?>
記事なし
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->
<hr>
フッタ
<?php wp_footer(); ?>
</body>
</html>
こんな方法でOK?
当初はjQueryに依存するプラグインを使う予定はなかった。万が一 将来にそんなプラグインを使うとトラブル起こす可能性が
あるから最初から wp_deregister_script で削除しておこう! さてどうなるでしょう?
WordPress と jQuery jQuery
ん? 直った気がする???
jQueryのバージョンも1.8.1に戻ってます。
jQueryも二重に読み込まれていません。 これでOKな気がするけど????
jQueryWordPress と jQuery
wp_deregister_script('jquery'); なし
wp_deregister_script('jquery'); あり
jquery.js以外も消えた!
WP jQuery Lightbox は、wp_footer() に挿入されるプラグインでした。
wp_deregister_script('jquery'); で jquery.js の読み込みだけ消したのになぜ他の箇所まで表示されなくなったのでしょう。
jQueryWordPress と jQuery
wp_enqueue_script('wp-jquery-lightbox-swipe', plugins_url(JQLB_TOUCH_SCRIPT, __FILE__), Array('jquery'),
'1.4', true);
wp_enqueue_script('wp-jquery-lightbox', plugins_url(JQLB_SCRIPT, __FILE__), Array('jquery'), '1.4', true);
プラグインの中を覗くと
' jquery ' が関連に指定されている。
関連に指定された箱が全て揃って表示される。
関連している ' jquery ' が削除されたので全て表示されなくなった。
point
wp-jquery-lightbox-swipe や wp-jquery-lightbox は 一人では行動できません。 jquery に頼るつもりでした。
そのjqueryがいなくなりました。一人で行動できないのでまとめて表示されなくなりました。
jQueryWordPress と jQuery
<?php wp_deregister_script('jquery'); ?>
<?php wp_enqueue_script('jquery' , jquery.jsの新パス); ?>
結局、解決策は削除して
  wp_enqueue_script追加
まとめ
Twenty Thirteen
jQuery
WordPress本体のjQueryはコンフリクト対策されているので
気をつけましょう。
テーマに直接スクリプトを記述するのではなく、
wp_deregister_script、wp_enqueue_script
を極力使いましょう。
関連(依存)にあるスクリプトがある場合は、しっかり関連を
指定しましょう。WordPressが順序を調整してくれます。
jQqueryの動作がおかしくなったら wp_head、wp_footer の
表示場所を意識すると解決が早いかもしれません。
?
?
?
?
おわり jQuery
ご静聴ありがとうございました。
Twitter
: as.chachamaru
: @as_chachamaru
Facebook
Ad

Recommended

PDF
?箩蚕耻别谤测をおぼえよう!その2
Nishida Kansuke
?
PDF
奥辞谤诲笔谤别蝉蝉の常识をくつがえす超简単テーマ&辩耻辞迟;诲辞蝉丑颈谤辞耻迟辞&辩耻辞迟;を作ったのでこれでテーマを理解しよう!
Takashi Uemura
?
PDF
奥辞谤诲笔谤别蝉蝉でオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
Takashi Uemura
?
PDF
WordPress実践 導入からカスタマイズまで
Takashi Uemura
?
PDF
What's new! TwentyThirteen + WordPress3.6
Takashi Uemura
?
PPTX
Word press34
BREN
?
PDF
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
Takashi Uemura
?
KEY
贰颁-颁鲍叠贰フ?ラク?イン讲义
ria1201
?
PDF
奥辞谤诲笔谤别蝉蝉テーマ作成
Takami Kazuya
?
PDF
奥辞谤诲辫谤别蝉蝉で自分好みのテーマを作る
Takashi Uemura
?
PDF
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
Takashi Uemura
?
PDF
ゼロからつくるWord pressテーマ第7回
Hitsuji
?
PDF
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
Cherry Pie Web
?
PDF
?箩蚕耻别谤测をおほ?えよう!その5
Nishida Kansuke
?
PDF
ゼロからつくるWord pressテーマ第6回
Hitsuji
?
PDF
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
Chieko Aihara
?
KEY
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
PDF
ゼロからつくるWord pressテーマ第5回 後編
Hitsuji
?
PDF
ゼロからつくる奥辞谤诲笔谤别蝉蝉テーマ第4回
Hitsuji
?
PDF
ゼロからつくるWord pressテーマ第9回
Hitsuji
?
PDF
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
?
PDF
ゼロからつくるWord pressテーマ第5回
Hitsuji
?
PDF
これからの辫谤别冲驳别迟冲辫辞蝉迟蝉の话をしよう
Hishikawa Takuro
?
PDF
ゼロからつくるWord pressテーマ第8回
Hitsuji
?
PDF
WordPress 3.2の新機能& 新デフォルトテーマ Twenty Eleven 大解剖!
hokori matu
?
PDF
WordPressで提供するWeb API
Yuko Toriyama
?
PDF
顿箩补苍驳辞によるスマホアプリバックエンドの実装
Nakazawa Yuichi
?
PDF
WordBeachDeathMarchWorkshop
takashi ono
?
PDF
4時間まったり奥辞谤诲笔谤别蝉蝉テーマ作成講座
Shinichi Nishikawa
?

More Related Content

What's hot (20)

PDF
奥辞谤诲笔谤别蝉蝉テーマ作成
Takami Kazuya
?
PDF
奥辞谤诲辫谤别蝉蝉で自分好みのテーマを作る
Takashi Uemura
?
PDF
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
Takashi Uemura
?
PDF
ゼロからつくるWord pressテーマ第7回
Hitsuji
?
PDF
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
Cherry Pie Web
?
PDF
?箩蚕耻别谤测をおほ?えよう!その5
Nishida Kansuke
?
PDF
ゼロからつくるWord pressテーマ第6回
Hitsuji
?
PDF
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
Chieko Aihara
?
KEY
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
PDF
ゼロからつくるWord pressテーマ第5回 後編
Hitsuji
?
PDF
ゼロからつくる奥辞谤诲笔谤别蝉蝉テーマ第4回
Hitsuji
?
PDF
ゼロからつくるWord pressテーマ第9回
Hitsuji
?
PDF
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
?
PDF
ゼロからつくるWord pressテーマ第5回
Hitsuji
?
PDF
これからの辫谤别冲驳别迟冲辫辞蝉迟蝉の话をしよう
Hishikawa Takuro
?
PDF
ゼロからつくるWord pressテーマ第8回
Hitsuji
?
PDF
WordPress 3.2の新機能& 新デフォルトテーマ Twenty Eleven 大解剖!
hokori matu
?
PDF
WordPressで提供するWeb API
Yuko Toriyama
?
PDF
顿箩补苍驳辞によるスマホアプリバックエンドの実装
Nakazawa Yuichi
?
奥辞谤诲笔谤别蝉蝉テーマ作成
Takami Kazuya
?
奥辞谤诲辫谤别蝉蝉で自分好みのテーマを作る
Takashi Uemura
?
WordPressの常識をくつがえす超簡単テーマ doshirouto2014 を作ったのでこれでテーマを理解しよう!
Takashi Uemura
?
ゼロからつくるWord pressテーマ第7回
Hitsuji
?
.丑迟补肠肠别蝉蝉によるリダイレクト彻底解説
Cherry Pie Web
?
?箩蚕耻别谤测をおほ?えよう!その5
Nishida Kansuke
?
ゼロからつくるWord pressテーマ第6回
Hitsuji
?
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
Chieko Aihara
?
奥辞谤诲笔谤别蝉蝉プラグイン作成入门
Yuji Nojima
?
ゼロからつくるWord pressテーマ第5回 後編
Hitsuji
?
ゼロからつくる奥辞谤诲笔谤别蝉蝉テーマ第4回
Hitsuji
?
ゼロからつくるWord pressテーマ第9回
Hitsuji
?
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
hokori matu
?
ゼロからつくるWord pressテーマ第5回
Hitsuji
?
これからの辫谤别冲驳别迟冲辫辞蝉迟蝉の话をしよう
Hishikawa Takuro
?
ゼロからつくるWord pressテーマ第8回
Hitsuji
?
WordPress 3.2の新機能& 新デフォルトテーマ Twenty Eleven 大解剖!
hokori matu
?
WordPressで提供するWeb API
Yuko Toriyama
?
顿箩补苍驳辞によるスマホアプリバックエンドの実装
Nakazawa Yuichi
?

Similar to 奥辞谤诲笔谤别蝉蝉と箩蚕耻别谤测 (20)

PDF
WordBeachDeathMarchWorkshop
takashi ono
?
PDF
4時間まったり奥辞谤诲笔谤别蝉蝉テーマ作成講座
Shinichi Nishikawa
?
KEY
奥辞谤诲笔谤别蝉蝉中级者への道!テンプレートタグはどう动くのか!?
Shinichi Nishikawa
?
PDF
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
rie05
?
PDF
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
Takashi Uemura
?
PDF
20110714 j queryベーシック
良太 増子
?
PDF
WordBench Kobe jQueryどうでしょう
Hishikawa Takuro
?
KEY
碍补飞补锄的箩蚕耻别谤测入门
Kohki Miki
?
PDF
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
?
PDF
SaCSS vol.24
jun sugimoto
?
PDF
SaCSS vol. 24
jun sugimoto
?
PDF
101210 supreme web adobe seminar Nagoya
tamotsu toyoda
?
PDF
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級?導入編 ー
Kite Koga
?
PDF
Web制作勉強会 #2
Moto Yan
?
PDF
奥辞谤诲笔谤别蝉蝉で投稿记事情报の取得方法
regret raym
?
PDF
テーマ制作时の疑问とノンプログラマーにも优しいテーマを考える
Tsuyoshi.
?
PDF
箩蚕耻别谤测で作るカスタム投稿の画像スライダーライブラリ
Takashi Uemura
?
PDF
アプリケーションプラットホームとしての奥辞谤诲笔谤别蝉蝉
Takayuki Miyauchi
?
PDF
Word Beach Nagoya
Eri Sawada
?
PDF
Word bench長崎01「オリシ?ナルテーマて?学ふ?wordpressの基本」
タカシ キタジマ
?
WordBeachDeathMarchWorkshop
takashi ono
?
4時間まったり奥辞谤诲笔谤别蝉蝉テーマ作成講座
Shinichi Nishikawa
?
奥辞谤诲笔谤别蝉蝉中级者への道!テンプレートタグはどう动くのか!?
Shinichi Nishikawa
?
CSS Nite in OSAKA, Vol.32:デザイナーのためのWordPressカスタマイズ
rie05
?
WordPressのオススメスライドとか記事とか集めました。(2012.10.13 WordBench神戸)
Takashi Uemura
?
20110714 j queryベーシック
良太 増子
?
WordBench Kobe jQueryどうでしょう
Hishikawa Takuro
?
碍补飞补锄的箩蚕耻别谤测入门
Kohki Miki
?
メディア芸術基礎 II jQuery入門
Atsushi Tadokoro
?
SaCSS vol.24
jun sugimoto
?
SaCSS vol. 24
jun sugimoto
?
101210 supreme web adobe seminar Nagoya
tamotsu toyoda
?
Webデザイナーが身に付けておきたい定番スキル ー WordPress 初級?導入編 ー
Kite Koga
?
Web制作勉強会 #2
Moto Yan
?
奥辞谤诲笔谤别蝉蝉で投稿记事情报の取得方法
regret raym
?
テーマ制作时の疑问とノンプログラマーにも优しいテーマを考える
Tsuyoshi.
?
箩蚕耻别谤测で作るカスタム投稿の画像スライダーライブラリ
Takashi Uemura
?
アプリケーションプラットホームとしての奥辞谤诲笔谤别蝉蝉
Takayuki Miyauchi
?
Word Beach Nagoya
Eri Sawada
?
Word bench長崎01「オリシ?ナルテーマて?学ふ?wordpressの基本」
タカシ キタジマ
?
Ad

More from Seto Takahiro (8)

PDF
WordPressプラグイン開発の めんどうな作業は執事(Jenkins)にお任せ
Seto Takahiro
?
PDF
WordPress の .htaccess って何者?
Seto Takahiro
?
PDF
デザイナさん向け奥辞谤诲笔谤别蝉蝉フックの勉强
Seto Takahiro
?
PDF
奥辞谤诲笔谤别蝉蝉フ?ラク?イン开発て?学ふ?継続インテグレーション(颁滨)
Seto Takahiro
?
PDF
世界の最前线!痴补驳谤补苍迟や奥笔-颁尝滨などで开発环境をパワーアップ!
Seto Takahiro
?
PDF
テーマ作成のアプローチ
Seto Takahiro
?
PDF
Trust form (お問い合わせフォームプラグイン)について
Seto Takahiro
?
PDF
リリース直前奥辞谤诲笔谤别蝉蝉3.5をみてみよう
Seto Takahiro
?
WordPressプラグイン開発の めんどうな作業は執事(Jenkins)にお任せ
Seto Takahiro
?
WordPress の .htaccess って何者?
Seto Takahiro
?
デザイナさん向け奥辞谤诲笔谤别蝉蝉フックの勉强
Seto Takahiro
?
奥辞谤诲笔谤别蝉蝉フ?ラク?イン开発て?学ふ?継続インテグレーション(颁滨)
Seto Takahiro
?
世界の最前线!痴补驳谤补苍迟や奥笔-颁尝滨などで开発环境をパワーアップ!
Seto Takahiro
?
テーマ作成のアプローチ
Seto Takahiro
?
Trust form (お問い合わせフォームプラグイン)について
Seto Takahiro
?
リリース直前奥辞谤诲笔谤别蝉蝉3.5をみてみよう
Seto Takahiro
?
Ad

奥辞谤诲笔谤别蝉蝉と箩蚕耻别谤测