WordPressはGETリクエストパラメーターでどのページかを解釈し、ディレクトリに見せかけたURLを返すPrettyパーマリンク機構を持つが、インストールしてデフォルトの状態だと、パーマリンクはそのままGETリクエストパラーメーターでの解釈しかできないことUglyパーマリンク機構となっている。
これはパーマリンクを基本以外に変更することでPrettyパーマリンクが使用されるようになるが、デフォルトになっていることで、パーマリンクを操作する系のプラグインだと少し注意が必要となる。
※Prettyパーマリンクを使用するにはサーバーのmod_rewriteが使える必要があるから
例えば、下記のようにパーマリンクを出力しようとしてもルールが出てこず、また当たり前だが、Prettyパーマリンクが効かないため、下記のようにリライトルールやそれを更新する関数が一切効かなくなるためだ。
var_dump( $wp_rewrite->rules );
そのため、下記のような感じで強制させるのがよい。
if (get_option('permalink_structure') !== '/%postname%/') {
update_option('permalink_structure', '/%postname%/');
}