フィルターフック、アクションフックの利用方法

フックとは何か

WordPress のプラグインAPI は、固定で出力される部分をユーザーが自由に変更できる仕組み(フィルター)と、特定のタイミングで独自の処理をさせる事ができる仕組み(アクション)の2通りの機能を持っています。
しかも、この仕組みは本体を改変することはありませんのでアップグレードをした時に施したカスタマイズが消えてしまうということはありません。

例えば記事タイトルを表示する処理に、ユーザーが作成した処理を割り込ませてタイトルを書き換えてしまったり、記事がデータベースに保存されるタイミングで別の処理を実行させたりと、いろいろな事ができるようになっています。

前もって作った関数を、本体の特定の位置(フック)に引っ掛けておきます。
そこへ処理が流れてきた時にその関数が実行されるという仕組みになっているのです。 続きを読む

SSLでのサーバー固有の環境変数取得制限

Xrea、Coreserverでは、SSL時に$_SERVER[‘REMOTE_ADDR’]の取得ができません。代替として$_SERVER[‘HTTP_X_FORWARDED_FOR’]が用意されているようです。この様なサーバーでセッションの整合性を保つには以下の様にしてフィルターの適用が必要になります。

add_filter('usces_sessid_force', 'my_sessid_force');
function my_sessid_force( $notuse ){
	if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
		return $_SERVER['HTTP_X_FORWARDED_FOR'];
	else
		return $_SERVER['REMOTE_ADDR'];
}