2012年01月14日に投稿

[Movable Type]MTEntriesタグで特定の数値の倍数番目に出力された記事だけ別の出力を行う

MTEntriesタグで記事を出力する際、特定の数値の倍数番目に出力されるときだけ処理を変えたいことがあります。この条件分岐はMTIfと計算用のモディファイアを使うことで実現できます。

続きを読む

2012年01月13日に投稿

[PHP]current関数とnext関数を使って配列を走査する

配列の要素の数だけ処理を繰り返したい場合は通常for構文やforeach構文を使うと思いますが、WordPressのソースコードを見ていて珍しい記述がありましたので紹介します。

続きを読む

2012年01月10日に投稿

[WordPress]プラグインとして追加できるフィルター機能はどのように実現されているのか

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」というキーワードでの検索結果が表示されます。もしこのパラメーターにオリジナルのものが利用できたらカスタマイズの幅が広まりますよね。そこでオリジナルのパラメーターの値に応じて、オリジナルのテンプレートを読みこませる方法を調べました。

続きを読む