hook

フックって?????

2つのフック

フィルター・フック apply_filters() ・・・・ htmlなどテキストを修正して返すフック

アクション・フック do_action() ・・・・ 処理を実行するのみで値は返さないフック

 

 

$htm = '<ul>';
for($i=0; $i<$num; $i++){
	if(isset($ids[$i])){
		$post = get_post($ids[$i]);
		$disp_text = apply_filters('usces_widget_bestseller_auto_text', wp_specialchars($post->post_title), $ids[$i]);
		$list = '<li><a href="' . get_permalink($ids[$i]) . '">' . $disp_text . '</a></li>';
		$htm .= apply_filters('usces_filter_bestseller', $list, $ids[$i], $i);
	}
}
$htm .= '</ul>';

 

add_filter('usces_filter_bestseller', 'my_bestseller_func', 10, 3);
function my_bestseller_func() {
	$args = func_get_args();
	list($html, $post_id, $index) = $args;
	$post = get_post($post_id);
	$list = '<li>第' . ($index+1) . '位<a href="' . get_permalink($post_id) . '">' . $post->post_title . '</a></li>';
	return $list;
}

add_filter() が紐付け関数です。

第1引数が引っ掛けるフックの名前です。

第2引数はユーザー関数名。自由に名前を付けられます。バッティングしないように気をつけます。

第3引数は優先度。 このフックを利用するユーザー関数が複数有った場合の優先度です。とりあえず10にしておきましょう。

第4引数はフックから取得できる変数の数です。この引数の必要性があまり感じられないのですが、省略すると1つしか取得できなくなります。ここではフックが3つのデータをユーザーに送っていますので3として全てを受け取れるようにします。

 

Welcartコミュニティさんより引用

 

 

 

 

 

 

 

Share Your Thought