SlideShare une entreprise Scribd logo
1  sur  23
WordBench 宮崎

WordPress × jQueryMobile = スマフォ最適化
【 WordBench 宮崎勉強会】

© wordbonch.org

ver.1.0.0
自己紹介

高見 和也( Takami Kazuya )
Twitter@miiitaka
Facebook@miiitaka

株式会社アラタナ
サービス開発部:フロントエンドチーム
PHP や JavaScript とかスクリプト系言語好き。

© wordbonch.org

2
今回の実装環境

WordPress 3.8.1
jQuery 1.10.2 ( CDN )
https://code.jquery.com/jquery-1.10.2.min.js
jQuery Mobile 1.4 ( CDN )
https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js
https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css
※WordPress ver.3.7 系からマイナーバージョンは自動更新になりましたね。

© wordbonch.org

3
カスタムメニュー機能 × jQuery Mobile

カスタムメニュー機能 × jQuery Mobile

© wordbonch.org

4
カスタムメニュー機能 × jQuery Mobile

まずはグローバルナビゲーションを作ってみましょう。
管理画面でカスタムメニュー機能を使えるようにします。( functions.php に追記)
function theme_setup() {
// 管理画面の [ 外観 ]⇒[ メニュー ] を表示させる
add_theme_support('menus');
}
add_action('after_setup_theme','theme_setup');

コード追
加

初期設定は「
メニュー」が
ない

© wordbonch.org

出てきた!
\ (^o^) /

5
カスタムメニュー機能 × jQuery Mobile

続けて、 functions.php にメニューを表示する「位置」を設定しておきます。
// 管理画面の [ 外観 ]⇒[ メニュー ] でテーマの位置を設定
register_nav_menus(array(
'header_navi' => ' ヘッダーナビゲーション '
));

© wordbonch.org

任意で名前をつ
けて、事前に登
録しておきます
。

6
カスタムメニュー機能 × jQuery Mobile

管理画面から自由にメニューの追加ができるようになりました。
functions.php
で登録した名
前

とりあえず 3
つメニュー作
成

functions.php で登録
した位置
(チェック入れます
)

© wordbonch.org

7
カスタムメニュー機能 × jQuery Mobile

準備できたので、実際に出力します。 header.php に以下のコードを記述。
<?php wp_nav_menu(array(
'theme_location' => 'header_navi',
'container' => false
)); ?>

container は、自動的
に <div> でメニュー
がラップされるので
、 false を渡して削除
。

Theme は、登
録した名前。

<ul id='menu-header_navi'>
<li><a href=''>HOME</a></li>
<li><a href=''>ABOUT</a></li>
<li><a href=''>FAQ</a></li>
</ul>

出てきた!
\ (^o^) /

© wordbonch.org

8
カスタムメニュー機能 × jQuery Mobile

じゃあ、これを横並びにするには、 ul を display:inline-block にして、あ、その前にリストのマーク外し
て、余白の調整して li の幅は3つだから、デバイスの横幅考慮して相対指定のほうがいいよね、 33 %か
な?あーメニュー増えた時どうしようかなぁ。結局管理画面からメニュー増やせても CSS の調整がいる
んじゃ意味ないよね。並び替えぐらいの用途しかないんだったらカスタムメニューなんていらないんじ
ゃないFさふぇえrがsdgれあgdfgらえrがえらgらあrがえrgr

あぁ、つらい
……

© wordbonch.org

9
カスタムメニュー機能 × jQuery Mobile

じゃあ、これを横並びにするには、 ul を display:inline-block にして、あ、その前にリストのマーク外し
て、余白の調整して li の幅は3つだから、デバイスの横幅考慮して相対指定のほうがいいよね、 33 %か
な?あーメニュー増えた時どうしようかなぁ。結局管理画面からメニュー増やせても CSS の調整がいる
んじゃ意味ないよね。並び替えぐらいの用途しかないんだったらカスタムメニューなんていらないんじ
ゃないFさふぇえrがsdgれあgdfgらえrがえらgらあrがえrgr

そうだ!
jQueryMobile
を使おう!

© wordbonch.org

10
カスタムメニュー機能 × jQuery Mobile

まずは jQuery と jQueryMobile を CDN 経由でヘッダーに読み込みます。
<head>
<link rel='stylesheet' href='https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css' />
<script src='https://code.jquery.com/jquery-1.10.2.min.js'></script>
<script src='https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js'></script>
</head>

<nav data-role='navbar'>

<ul> タグを <nav>
でラップし
て、 data-role (デ
ータの役割)を与え
る。

<?php wp_nav_menu(array(
'theme_location' => 'header_navi',
'container' => false
)); ?>
</nav>

© wordbonch.org

11
カスタムメニュー機能 × jQuery Mobile
ソースコード触らず
順番入替&レスポン
シーブ!\ (^o^) /

横並びになった!\ (^o^) /

管理画面でメ
ニューを増や
してみる。

※6 個以上になると 2 列表示になります。スマフォの横幅を考えた場合、最大 5 個が妥当。

© wordbonch.org

12
カテゴリ一覧 × jQuery Mobile

カテゴリ一覧 × jQuery Mobile

© wordbonch.org

13
カテゴリ一覧 × jQuery Mobile

まずは普通にカテゴリ一覧を表示します。最も簡単な方法はこれ。
<ul>
<?php wp_list_categories('depth=1&title_li='); ?>
</ul>

depth は出力する
カテゴリ階層。
とりあえず第 1 階
層のみ。

title_li は、自動で「カ
テゴリー」という文
字が出力されるので
出さないように空文
字。

出てきた!
\ (^o^) /

© wordbonch.org

14
カテゴリ一覧 × jQuery Mobile

カスタムメニュー機能の時と同様に、出力リストに jQueryMobile の役割( data-role )を割当てます。
<ul data-role='listview'>
<?php wp_list_categories('depth=1&title_li='); ?>
</ul>

おしゃれ!
\ (^o^) /

© wordbonch.org

15
カテゴリ一覧 × jQuery Mobile

Wp_list_categories() だとちょっとカスタマイズに困るので、カテゴリ一覧を普通に展開します。
<?php $categories = get_categories(array('parent' => 0)); ?>
<?php if (count($categories) > 0) : ?>
<ul>
<?php foreach($categories as $category) : ?>
<li>
<a href='<?php echo get_category_link($category->cat_ID); ?>'>
<?php echo esc_html($category->name); ?>
</a>
</li>
<?php endforeach; ?>

<li> や <a> を利用
して装飾したい。

</ul>
<?php endif; ?>

© wordbonch.org

16
カテゴリ一覧 × jQuery Mobile

jQueryMobile でリストの整頓とカウンタバブルを出してみましょう。
<?php $categories = get_categories(array('parent' => 0)); ?>
<?php if (count($categories) > 0) : ?>
<ul data-role='listview'>

アイコンも変えて
みよう。
<?php foreach($categories as $category) : ?>

<li data-icon='check'>
<a href='<?php echo get_category_link($category->cat_ID); ?>'>
<?php echo esc_html($category->name); ?>

カテゴリのカウン
ト数を <span> で
囲みます。

<span class='ui-li-count'><?php echo esc_html($category->count); ?></span>
</a>
</li>
<?php endforeach; ?>

ui-li-count
jQueryMobile 設定

</ul>
<?php endif; ?>

© wordbonch.org

17
カテゴリ一覧 × jQuery Mobile

jQueryMobile でリストの整頓とカウンタバブルを出してみましょう。

アイコンも変わっ
た!\ (^o^) /

カテゴリ毎の記事
数がでた!
\ (^o^) /

アイコンはあれこれ指定ができます。
★jQuery1.4 からはアイコン画像が全て SVG で表示されるよう
になりました。 Retina みたいな高画質モニタでもなめらか~に
表示されますね。

© wordbonch.org

18
記事一覧 × jQuery Mobile

記事一覧 × jQuery Mobile

© wordbonch.org

19
記事一覧 × jQuery Mobile

ここでも普通に記事の一覧を出力します。
<?php
query_posts(array('post_type' => 'post','orderby' => 'date','order' => 'DESC'));
?>
<?php if (have_posts()) : ?>

記事情報を日
付の降順で。

<ul>
<?php while (have_posts()) : the_post(); ?>
<li>
<a href='<?php the_permalink(); ?>'><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif;wp_reset_query(); ?>

© wordbonch.org

20
記事一覧 × jQuery Mobile

これに jQueryMobile の設定を加えます。リストに表示した記事の検索機能を実装します。
<?php
query_posts(array('post_type' => 'post','orderby' => 'date','order' => 'DESC'));
?>
<?php if (have_posts()) : ?>
<ul data-role='listview' data-filter='true'>
<?php while (have_posts()) : the_post(); ?>
<li>

data-filter
ここがポイント!

<a href='<?php the_permalink(); ?>'><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif;wp_reset_query(); ?>

© wordbonch.org

21
記事一覧 × jQuery Mobile

これに jQueryMobile の設定を加えます。リストに表示した記事の検索機能を実装します。

検索ボックスが表
示された!
\ (^o^) /

記事が絞りこまれ
ます。すてき。

「 smarty 」
と検索

© wordbonch.org

22
参考 URL

jQuery Mobile
http://dev.screw-axis.com/doc/jquery_mobile/

© wordbonch.org

23

Contenu connexe

Tendances

はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.jsHiroki Toyokawa
 
AngularJSの高速化
AngularJSの高速化AngularJSの高速化
AngularJSの高速化Kon Yuichi
 
Viewを活用して複雑化と戦う
Viewを活用して複雑化と戦うViewを活用して複雑化と戦う
Viewを活用して複雑化と戦うKenjiro Kubota
 
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018Takeshi Fujimoto
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScripthideaki honda
 
チュートリアルではじめるVue.js
チュートリアルではじめるVue.jsチュートリアルではじめるVue.js
チュートリアルではじめるVue.js小川 昌吾
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会Kentaro Ohkouchi
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb APIYuko Toriyama
 

Tendances (8)

はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
AngularJSの高速化
AngularJSの高速化AngularJSの高速化
AngularJSの高速化
 
Viewを活用して複雑化と戦う
Viewを活用して複雑化と戦うViewを活用して複雑化と戦う
Viewを活用して複雑化と戦う
 
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScript
 
チュートリアルではじめるVue.js
チュートリアルではじめるVue.jsチュートリアルではじめるVue.js
チュートリアルではじめるVue.js
 
EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会EC-CUBE API プラグイン勉強会
EC-CUBE API プラグイン勉強会
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb API
 

Similaire à WordPress×jQueryMobile

XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドTetsuji Hayashi
 
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMiho Nakano
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tipsyoshikawa_t
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようHiroaki Wakamatsu
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Akira Inoue
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittrkenjis
 
HTML5の前のJavaScript入門
HTML5の前のJavaScript入門HTML5の前のJavaScript入門
HTML5の前のJavaScript入門Hiroki Toyokawa
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScriptマークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScripteiji sekiya
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!Shohei Okada
 
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)Daisuke Yamazaki
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
モバイル開発@symfony
モバイル開発@symfonyモバイル開発@symfony
モバイル開発@symfonyDaichi Kamemoto
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキングTakashi Okamoto
 

Similaire à WordPress×jQueryMobile (20)

XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
 
Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
 
WordPressとjQuery
WordPressとjQueryWordPressとjQuery
WordPressとjQuery
 
Visualforce + jQuery
Visualforce + jQueryVisualforce + jQuery
Visualforce + jQuery
 
jQuery Mobileの基礎
jQuery Mobileの基礎jQuery Mobileの基礎
jQuery Mobileの基礎
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
Form libraries
Form librariesForm libraries
Form libraries
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittr
 
HTML5の前のJavaScript入門
HTML5の前のJavaScript入門HTML5の前のJavaScript入門
HTML5の前のJavaScript入門
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
マークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScriptマークアップ講座 04 jQuery - JavaScript
マークアップ講座 04 jQuery - JavaScript
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)20140523 jQuery基礎 (HTML5ビギナーズ)
20140523 jQuery基礎 (HTML5ビギナーズ)
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
モバイル開発@symfony
モバイル開発@symfonyモバイル開発@symfony
モバイル開発@symfony
 
Jqm20120804 publish
Jqm20120804 publishJqm20120804 publish
Jqm20120804 publish
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 
Webteko 20090925
Webteko 20090925Webteko 20090925
Webteko 20090925
 

Plus de 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
 
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
 
jQuery3.0-beta1-point
jQuery3.0-beta1-pointjQuery3.0-beta1-point
jQuery3.0-beta1-pointTakami Kazuya
 
プラグイン公開までの道のり
プラグイン公開までの道のりプラグイン公開までの道のり
プラグイン公開までの道のり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
 
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
 

Plus de 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をこれから始める人のためのテーマ講座
 
WordPress+AMP
WordPress+AMPWordPress+AMP
WordPress+AMP
 
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で構造化するこれからのマークアップ
 
jQuery3.0-beta1-point
jQuery3.0-beta1-pointjQuery3.0-beta1-point
jQuery3.0-beta1-point
 
プラグイン公開までの道のり
プラグイン公開までの道のりプラグイン公開までの道のり
プラグイン公開までの道のり
 
History api
History apiHistory api
History api
 
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 カスタム投稿
 
WordPressプラグインの作り方
WordPressプラグインの作り方WordPressプラグインの作り方
WordPressプラグインの作り方
 
【WordBench宮崎】第3回・4回アンケート報告
【WordBench宮崎】第3回・4回アンケート報告【WordBench宮崎】第3回・4回アンケート報告
【WordBench宮崎】第3回・4回アンケート報告
 
WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察
 

Dernier

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Dernier (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

WordPress×jQueryMobile

  • 1. WordBench 宮崎 WordPress × jQueryMobile = スマフォ最適化 【 WordBench 宮崎勉強会】 © wordbonch.org ver.1.0.0
  • 2. 自己紹介 高見 和也( Takami Kazuya ) Twitter@miiitaka Facebook@miiitaka 株式会社アラタナ サービス開発部:フロントエンドチーム PHP や JavaScript とかスクリプト系言語好き。 © wordbonch.org 2
  • 3. 今回の実装環境 WordPress 3.8.1 jQuery 1.10.2 ( CDN ) https://code.jquery.com/jquery-1.10.2.min.js jQuery Mobile 1.4 ( CDN ) https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css ※WordPress ver.3.7 系からマイナーバージョンは自動更新になりましたね。 © wordbonch.org 3
  • 4. カスタムメニュー機能 × jQuery Mobile カスタムメニュー機能 × jQuery Mobile © wordbonch.org 4
  • 5. カスタムメニュー機能 × jQuery Mobile まずはグローバルナビゲーションを作ってみましょう。 管理画面でカスタムメニュー機能を使えるようにします。( functions.php に追記) function theme_setup() { // 管理画面の [ 外観 ]⇒[ メニュー ] を表示させる add_theme_support('menus'); } add_action('after_setup_theme','theme_setup'); コード追 加 初期設定は「 メニュー」が ない © wordbonch.org 出てきた! \ (^o^) / 5
  • 6. カスタムメニュー機能 × jQuery Mobile 続けて、 functions.php にメニューを表示する「位置」を設定しておきます。 // 管理画面の [ 外観 ]⇒[ メニュー ] でテーマの位置を設定 register_nav_menus(array( 'header_navi' => ' ヘッダーナビゲーション ' )); © wordbonch.org 任意で名前をつ けて、事前に登 録しておきます 。 6
  • 7. カスタムメニュー機能 × jQuery Mobile 管理画面から自由にメニューの追加ができるようになりました。 functions.php で登録した名 前 とりあえず 3 つメニュー作 成 functions.php で登録 した位置 (チェック入れます ) © wordbonch.org 7
  • 8. カスタムメニュー機能 × jQuery Mobile 準備できたので、実際に出力します。 header.php に以下のコードを記述。 <?php wp_nav_menu(array( 'theme_location' => 'header_navi', 'container' => false )); ?> container は、自動的 に <div> でメニュー がラップされるので 、 false を渡して削除 。 Theme は、登 録した名前。 <ul id='menu-header_navi'> <li><a href=''>HOME</a></li> <li><a href=''>ABOUT</a></li> <li><a href=''>FAQ</a></li> </ul> 出てきた! \ (^o^) / © wordbonch.org 8
  • 9. カスタムメニュー機能 × jQuery Mobile じゃあ、これを横並びにするには、 ul を display:inline-block にして、あ、その前にリストのマーク外し て、余白の調整して li の幅は3つだから、デバイスの横幅考慮して相対指定のほうがいいよね、 33 %か な?あーメニュー増えた時どうしようかなぁ。結局管理画面からメニュー増やせても CSS の調整がいる んじゃ意味ないよね。並び替えぐらいの用途しかないんだったらカスタムメニューなんていらないんじ ゃないFさふぇえrがsdgれあgdfgらえrがえらgらあrがえrgr あぁ、つらい …… © wordbonch.org 9
  • 10. カスタムメニュー機能 × jQuery Mobile じゃあ、これを横並びにするには、 ul を display:inline-block にして、あ、その前にリストのマーク外し て、余白の調整して li の幅は3つだから、デバイスの横幅考慮して相対指定のほうがいいよね、 33 %か な?あーメニュー増えた時どうしようかなぁ。結局管理画面からメニュー増やせても CSS の調整がいる んじゃ意味ないよね。並び替えぐらいの用途しかないんだったらカスタムメニューなんていらないんじ ゃないFさふぇえrがsdgれあgdfgらえrがえらgらあrがえrgr そうだ! jQueryMobile を使おう! © wordbonch.org 10
  • 11. カスタムメニュー機能 × jQuery Mobile まずは jQuery と jQueryMobile を CDN 経由でヘッダーに読み込みます。 <head> <link rel='stylesheet' href='https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css' /> <script src='https://code.jquery.com/jquery-1.10.2.min.js'></script> <script src='https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js'></script> </head> <nav data-role='navbar'> <ul> タグを <nav> でラップし て、 data-role (デ ータの役割)を与え る。 <?php wp_nav_menu(array( 'theme_location' => 'header_navi', 'container' => false )); ?> </nav> © wordbonch.org 11
  • 12. カスタムメニュー機能 × jQuery Mobile ソースコード触らず 順番入替&レスポン シーブ!\ (^o^) / 横並びになった!\ (^o^) / 管理画面でメ ニューを増や してみる。 ※6 個以上になると 2 列表示になります。スマフォの横幅を考えた場合、最大 5 個が妥当。 © wordbonch.org 12
  • 13. カテゴリ一覧 × jQuery Mobile カテゴリ一覧 × jQuery Mobile © wordbonch.org 13
  • 14. カテゴリ一覧 × jQuery Mobile まずは普通にカテゴリ一覧を表示します。最も簡単な方法はこれ。 <ul> <?php wp_list_categories('depth=1&title_li='); ?> </ul> depth は出力する カテゴリ階層。 とりあえず第 1 階 層のみ。 title_li は、自動で「カ テゴリー」という文 字が出力されるので 出さないように空文 字。 出てきた! \ (^o^) / © wordbonch.org 14
  • 15. カテゴリ一覧 × jQuery Mobile カスタムメニュー機能の時と同様に、出力リストに jQueryMobile の役割( data-role )を割当てます。 <ul data-role='listview'> <?php wp_list_categories('depth=1&title_li='); ?> </ul> おしゃれ! \ (^o^) / © wordbonch.org 15
  • 16. カテゴリ一覧 × jQuery Mobile Wp_list_categories() だとちょっとカスタマイズに困るので、カテゴリ一覧を普通に展開します。 <?php $categories = get_categories(array('parent' => 0)); ?> <?php if (count($categories) > 0) : ?> <ul> <?php foreach($categories as $category) : ?> <li> <a href='<?php echo get_category_link($category->cat_ID); ?>'> <?php echo esc_html($category->name); ?> </a> </li> <?php endforeach; ?> <li> や <a> を利用 して装飾したい。 </ul> <?php endif; ?> © wordbonch.org 16
  • 17. カテゴリ一覧 × jQuery Mobile jQueryMobile でリストの整頓とカウンタバブルを出してみましょう。 <?php $categories = get_categories(array('parent' => 0)); ?> <?php if (count($categories) > 0) : ?> <ul data-role='listview'> アイコンも変えて みよう。 <?php foreach($categories as $category) : ?> <li data-icon='check'> <a href='<?php echo get_category_link($category->cat_ID); ?>'> <?php echo esc_html($category->name); ?> カテゴリのカウン ト数を <span> で 囲みます。 <span class='ui-li-count'><?php echo esc_html($category->count); ?></span> </a> </li> <?php endforeach; ?> ui-li-count jQueryMobile 設定 </ul> <?php endif; ?> © wordbonch.org 17
  • 18. カテゴリ一覧 × jQuery Mobile jQueryMobile でリストの整頓とカウンタバブルを出してみましょう。 アイコンも変わっ た!\ (^o^) / カテゴリ毎の記事 数がでた! \ (^o^) / アイコンはあれこれ指定ができます。 ★jQuery1.4 からはアイコン画像が全て SVG で表示されるよう になりました。 Retina みたいな高画質モニタでもなめらか~に 表示されますね。 © wordbonch.org 18
  • 19. 記事一覧 × jQuery Mobile 記事一覧 × jQuery Mobile © wordbonch.org 19
  • 20. 記事一覧 × jQuery Mobile ここでも普通に記事の一覧を出力します。 <?php query_posts(array('post_type' => 'post','orderby' => 'date','order' => 'DESC')); ?> <?php if (have_posts()) : ?> 記事情報を日 付の降順で。 <ul> <?php while (have_posts()) : the_post(); ?> <li> <a href='<?php the_permalink(); ?>'><?php the_title(); ?></a> </li> <?php endwhile; ?> </ul> <?php endif;wp_reset_query(); ?> © wordbonch.org 20
  • 21. 記事一覧 × jQuery Mobile これに jQueryMobile の設定を加えます。リストに表示した記事の検索機能を実装します。 <?php query_posts(array('post_type' => 'post','orderby' => 'date','order' => 'DESC')); ?> <?php if (have_posts()) : ?> <ul data-role='listview' data-filter='true'> <?php while (have_posts()) : the_post(); ?> <li> data-filter ここがポイント! <a href='<?php the_permalink(); ?>'><?php the_title(); ?></a> </li> <?php endwhile; ?> </ul> <?php endif;wp_reset_query(); ?> © wordbonch.org 21
  • 22. 記事一覧 × jQuery Mobile これに jQueryMobile の設定を加えます。リストに表示した記事の検索機能を実装します。 検索ボックスが表 示された! \ (^o^) / 記事が絞りこまれ ます。すてき。 「 smarty 」 と検索 © wordbonch.org 22