add_filter関数はオリジナルのフィルター関数を登録するための関数で、フィルター関数を登録するとWordPressが出力するあらゆるデータを加工して出力を行うことができます。apply_filters関数は登録されたフィルター関数を実行するための関数です。どのような仕組みで実現されているのか気になったのでソースコードを確認しました。完全にトレースできたわけではありませんが、メモを兼ねて記事として公開します。バージョン3.1.3のソースコードとなります。
2012年01月09日に投稿
[PHP] 実行中の関数に渡された引数を全て取得する(可変個の引数に対応する関数を作る)
function 構文において、function hoge($arg1, $arg2){ … } と定義すれば $arg1 と $arg2 はその関数の中で引数として利用可能ですが、可変個の引数を受け付けたい場合にはこの方法ではアクセスできません。可変個の引数にアクセスするにはfunc_get_args関数を利用します。
2012年01月03日に投稿
[PHP] $_GET や $_POST のような変数を Notice が出ないように空かどうかを判定する
$_GET や $_POST のような変数はユーザーが入力したかどうかで処理を判定したいとき、if 構文のみで判定しようとすると警告が表示されます。警告が出ないように判定をする場合は isset 構文を使用します。
2012年01月03日に投稿
[LibreOffice]シングルクオーテーションを入力してテキストエディタ等に貼り付けると全角のシングルクオーテーションに変換されてしまう場合の対処方法
LibreOfficeのCalcを使ってSQLを複数行書こうと思っていたところ入力したシングルクオーテーションが自動的に全角のシングルクオーテーションに変換されているようで、phpMyAdminでインポートしようとしたらエラーとなってしまいました。
このシングルクオーテーションを自動的に変換する機能を無効にするには、「ツール」→「オートコレクトオプション」→「言語固有のオプション」→「シングルクオーテーションマーク」の「入力文字列」からチェックを外してOKボタンをクリックするれば良いようです。
2011年12月21日に投稿
[WordPress]任意のGETパラメーターの値に応じて読み込ませるテンプレートを切り替える
標準のWordPressの機能として、GETパラメーターに応じて表示されるテンプレートが切り替わるようになっています。例えば、p=15というパラメーターがindex.phpに渡されると、single.phpがテンプレートとして読み込まれ、投稿IDが15の投稿の内容が表示されます。また、s=helloというパラメーターが渡されると、search.phpがテンプレートとして読み込まれ、「hello」というキーワードでの検索結果が表示されます。もしこのパラメーターにオリジナルのものが利用できたらカスタマイズの幅が広まりますよね。そこでオリジナルのパラメーターの値に応じて、オリジナルのテンプレートを読みこませる方法を調べました。
2011年12月17日に投稿
[WordPress]トップページのURLをプロトコルを指定して出力する
WordPressにはhttpsでアクセスするとbloginfo(‘siteurl’)で出力したURLもhttpsで出力してくれます。全てのページがSSLの対象になるなら良いのですが、一部のページだけSSLに対応させたい場合は余計なお節介と思ってしまうことになるはずです。
2011年12月17日に投稿
[WordPress]出力ループ中の記事が現在何件目か数値で取得する
WordPressで記事の出力ループを作成するときに今何番目の記事が出力されているかを知りたい時があります。例えば、奇数番目と偶数番目でCSSを変えたい時、3の倍数のときだけCSSを変えたい時などがあります。