2015/11/17この記事の目次まず始めに事前知識として条件分岐タグをついて説明MovableTypeからWordPressへ移行、移行後も同じパーマリンクを使えるようカスタムパーマリンクを設定することにカスタムパーマリンクで日付を使った形式にすると条件分岐タグに誤作動が起こる!?原因はWordPressの親切設計にありました。「分」までの記述で、個別記事として認識させる方法まず始めに事前知識として条件分岐タグをついて説明WordPressには条件分岐タグという仕組みがあり。それによって自分が今どの種類のページにいるかを調べることが出来ます。条件分岐タグには以下のようなものがあります。個別記事ページにいる場合WordPresssはこれらの判定を元にページを表示させる為に必要なテンプレート(phpファイル)を選んでいるわけです。MovableTypeからWordPressへ移行、移行後も同じパーマリンクを使えるようカスタムパーマリンクを設定することに私はWordPressに移行する前までMovableTypeを使用していたのですが、以下のようなパーマリンク形式で運用していました。WordPressでカスタムパーマリンクを設定するのは難なく出来たのですが問題が・・・。※カスタムパーマリンクには任意の文字列の他に構造タグも利用することが出来ます。カスタムパーマリンクで日付を使った形式にすると条件分岐タグに誤作動が起こる!?上記までの工程で通常は移行完了するのですが問題が発生!リンク切れこそないものの、なにやらテンプレート表示がおかしい。調べてみると個別記事ページがアーカイブページとして認識されていました。//trueと表示されていました。!?MovableTypeでは正常に動作していたのに!?原因はWordPressの親切設計にありました。先日、パーマリンクを日付形式から日本語形式に変更(SEOに強い説あり)したので、今更のタイミングでの原因判明となりましたが、先述のhttp://blog.ks-product.com/年/月/日/年月日時分.htmlでは「分」までの記述なので、1分間に複数回投稿された場合パーマリンクが重複する可能性がある為、アーカイブとして認識されていたようです。個別記事ページとして認識させるにはhttp://blog.ks-product.com/年/月/日/年月日時分秒.htmlと「秒」まで記述することで解決します。1秒に複数回投稿されたらどうなるんだって疑問はありますが、そのへんはWordPressが上手くやってくれるんでしょう。不具合の原因は分かりましたが、MovableTypeで使用していたパーマリンクをWordPressでもそのまま使えるようにするというのが目的でしたので、解決になっていません。コア部分の問題なので改変するのも無謀なので、functions.phpに下記のような簡単な判定関数を記述しました。count($posts);}以前、MovableTypeで運用していた時は個別記事以外は拡張子無しでアクセス可能な形式だった為、「.html」がURIに含まれているかどうかで個別記事かどうかを判定しています。今回のように拡張子に明確な違いがあれば良いですが、もし無い場合は数字の桁数とスラッシュの位置なんかで判定すれば問題ないかと思います(規模が大きいサイトだと危険かもしれませんが)。プラグインでis_single()を使っている場合は当然動作しないので、is_single()の箇所に上記のような独自判定の関数を追記してOR条件で判断させれば上手くいくかと思います。今回のように別のシステムから移行するでもない限り、カスタムパーマリンクは使用せずあらかじめ用意されたものを使ったほうが良いというのが個人的な意見です。コメントをキャンセルメールアドレスが公開されることはありません。AIR」公開しました。炎上するも反省しない本当の理由メンタリストDaigoさん、炎上していますね。...主張がコロっと変わるインフルエンサーは本当に信用出来ないのか?最近『インフルエンサー』と呼ばれる人達が注目されています。本業Webエンジニアの副業アフィリエイター。ブログアフィリエイトを中心に行い、最高月収は55万円を達成。小川忠洋が代表を務める『ダイレクト出版』の評判と過去の失態を明らかに!本当に信用できるのかまとめてみました。