SlideShare a Scribd company logo
1 of 21
Download to read offline
フック入門
〜フックは友達怖くない〜
超
WordBench Nagoya 2016年6月勉強会
6
月
11
日
日
直
小
田
島
目次
フックとは?
フックの種類
フックで何ができるの?
フックの探し方
フックとは?
特定のタイミングで
処理を追加したり
変更したりする機能
つまり
任意のタイミングで
処理を実行できる
ただし
タイミングは
用意されているものの
中から選択
フックの種類
フックには2種類ある
アクションフック
処理を追加する
アクションフック
add_action(
'フック名',
'関数名',
優先順位(オプション),
引数の数(オプション)
);
フィルターフック
内容を変更する
フィルターフック
add_filter(
'フック名',
'関数名',
優先順位(オプション),
引数の数(オプション)
);
何ができるの?
タイトル入力欄の表示を変
更する
管理画面やログイン画面の
スタイルを変更する
管理画面の一覧の項目を

追加・変更する etc.
タイトル入力欄の変更
function	change_post_enter_title_here(	$placeholder	)	{

	 

	 $screen	=	get_current_screen();

	 

	 if	(	'post'	==	$screen->post_type	)	{

	 	 

	 	 $placeholder	=	'名前を入力してください。';

	 	 

	 }

	 

	 return	$placeholder;

}

add_filter(	'enter_title_here',	'change_post_enter_title_here'	);
管理画面のスタイル変更
function	custom_admin_head()	{

echo	<<<Eof

<style	type="text/css">

#category-tabs	{

	 display:	none;

}

</style>

Eof;

}

add_action(	'admin_head',	'custom_admin_head'	);
ログイン画面のスタイル変更
function	custom_wp_login()	{

	 

echo	<<<Eof

<style>

html,

body.login	{

	 /*	ページの背景色	*/

	 background:	#014099;

}

.login	h1	a	{

	 /*	ロゴ画像のサイズ指定	*/

	 width:	100%;

	 height:	100px;

	 background-image:	url(/img/logo.png);

}

</style>

Eof;

	 

}

add_action	(	'login_head',	'custom_wp_login'	);
投稿一覧の項目変更
function	manage_posts_columns($columns)	{

	 unset($columns['tags']);

	 unset($columns['comments']);

	 

	 global	$post;

	 

	 if	(	'post'	==	$post->post_type	)	{

	 	 //	項目を退避

	 	 $title_escape		=	$columns['title'];

	 	 $cat_escape				=	$columns['categories'];

	 	 $author_escape	=	$columns['author'];

	 	 $date_escape			=	$columns['date'];

	 	 

	 	 //	項目を削除

	 	 unset($columns['title']);

	 	 unset($columns['categories']);

	 	 unset($columns['date']);

	 	 unset($columns['author']);

	 	 

	 	 //	項目を登録

	 	 $columns['thumb']						=	'画像';

	 	 $columns['title']						=	$title_escape;

	 	 $columns['categories']	=	$cat_escape;

	 	 $columns['author']					=	'投稿者';

	 	 $columns['date']							=	$date_escape;

	 	 

	 }

	 

	 return	$columns;

}

add_filter(	'manage_posts_columns',	'manage_posts_columns'	);
投稿一覧の内容変更
function	inside_district_column(	$column_name	)	{

	 global	$post;

	 

	 if	(	'post'	==	$post->post_type	&&	'thumb'	==	$column_name	)	{

	 	 

	 	 $thumb			=	get_the_post_thumbnail(	$post->ID,	array(100,100)	);

	 	 

	 	 if	(	''	==	$thumb	)	{

	 	 	 

	 	 	 $thumb	=	'<p	style="margin:	0;	padding:	0;	text-align:	
center;">NO<br>IMAGE</p>';

	 	 	 

	 	 }

	 	 

	 	 echo	$thumb;

	 	 

	 }

}

add_action(	'manage_posts_custom_column',	'inside_district_column'	);
フックの探し方
Codex で探す
WordPress Hooks
Database

で探す
コアファイルから探す
コアファイルから
探す
do_action を探す
apply_filters を探す
ご静聴
ありがとうございました
WordFes Nagoya 2016
日時:8月27日(土) 10:00〜
場所:名古屋工業大学52号館

More Related Content

More from Michinari Odajima

More from Michinari Odajima (6)

WBN 2014/02 LT
WBN 2014/02 LTWBN 2014/02 LT
WBN 2014/02 LT
 
Sass 超入門
Sass 超入門Sass 超入門
Sass 超入門
 
WordBeach 2012 WS 環境構築編
WordBeach 2012 WS 環境構築編WordBeach 2012 WS 環境構築編
WordBeach 2012 WS 環境構築編
 
WordPressのためのPHP入門
WordPressのためのPHP入門WordPressのためのPHP入門
WordPressのためのPHP入門
 
Wbn1201
Wbn1201Wbn1201
Wbn1201
 
Osc名古屋スライド
Osc名古屋スライドOsc名古屋スライド
Osc名古屋スライド
 

フック超入門