11. 第一回 WordBench八王子
意外と奥が深い構文 よく使うのですが・・・
$wp_query =
new WP_Query(array(post_type=‘food’));
while(have_posts()) : the_post();
$post->ID
the_titile();
the_content();
endwhile;
11
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP for WordPress
12. 第一回 WordBench八王子
意外と奥が深い構文 よく使うのですが・・・
$wp_query =
new WP_Query(array(post_type=‘food’));
while(have_posts()) : the_post();
$post->ID
the_titile();
the_content();
endwhile;
クラスのコンストラクタ
クラスの型に基づいて、
オブジェクトを生成する
12
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Class for WordPress
13. 第一回 WordBench八王子
new WP_Query はコンストラクタ
・ クラス (Class)
クラスは、変数およびこれらの変数で動作する
関数の集まりです。変数は var で、そして関数
は function で定義します
Class WP_Query { var 変数; function 関数(){…}}
・ コンストラクタ (Constructor)
オブジェクトをクラスから構築する初期化関数
$wp_query = new WP_Query( array(・・・) );
13
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Class for WordPress
14. 第一回 WordBench八王子
クラスのよいところ カプセル化(データ隠蔽)
・ 変数と関数がまとまっていて、分かりやすい!
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Class for WordPress
○○○.php ×××.php △△△.php □□□.php
グローバル
変数
処理1 処理2 処理3 処理4
???
17. 第一回 WordBench八王子
クラスのよいところ カプセル化(データ隠蔽)
・ 変数と関数がまとまっていて、分かりやすい!
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Class for WordPress
query.php
○○○.php ×××.php △△△.php □□□.php
have_
posts()
the_post
()
&get_pos
ts()
・・・
Class WP_Query
$posts,・・・
POA
処理の流れが
分かり易い
DOA
データの
状態遷移が
分かり易い
疎
結
合
18. 第一回 WordBench八王子
クラスのよいところ カプセル化(データ隠蔽)
・ 変数と関数がまとまっていて、分かりやすい!
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Class for WordPress
query.php
○○○.php ×××.php △△△.php □□□.php
Class WP_Query
投稿
post
添付
attachment
ページ
page
オブジェクト
コンストラクタ
new WP_Query
(‘post_type=・・・’)
19. 第一回 WordBench八王子
クラスのよいところ 継承( inheritance )
・ 変数や関数をセットで呼び出せる!
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Class for WordPress
class my_widget extends WP_Widget
function my_widget()
function widget()
function form()
function update()
Class WP_Widget
処理
20. 第一回 WordBench八王子
PHPオブジェクトをvar_dumpで見分ける
Class $wp_query = new WP_Query( $array );
var_dump($wp_query);
Object while(have_posts()):the_post();
var_dump($post); endwhile;
Xml $xml=@simplexml_load_file(‘$rss_url’);
var_dump($xml);
Array $array = array(‘post_type’=>‘post’);
var_dump($array);
20
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Object for WordPress
23. 第一回 WordBench八王子
意外と奥が深い構文、よく使うのですが・・・
$wp_query =
new WP_Query(array(post_type=‘food’));
while(have_post()) : the_post()
$post->ID
the_titile();
the_content();
endwhile;
引数がない
投稿IDを渡さずに、
タイトル・本文を表示 ???
23
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Global for WordPress
24. 第一回 WordBench八王子
意外と奥が深い構文、よく使うのですが・・・
$wp_query =
new WP_Query(array(post_type=‘food’));
while(have_post()) : the_post()
$post->ID
the_titile();
the_content();
endwhile;
グローバル変数
通常のスコープ(関数内)
を超えて使用できる
24
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Global for WordPress
25. 第一回 WordBench八王子
the_post() の流れ(概要)
(1) function the_post() {
global $wp_query;
$wp_query->the_post(); }
(2) class WP_Query {
function the_post() {
global $post;
setup_postdata($post); }}
グローバル変数
の宣言
25
HTML
CSS
JavaScript
JQuery
PHP
WordPress
PHP Global for WordPress