WordPressでスマホサイトだけカスタム投稿タイプのパーマリンクが取得出来ない場合

WordPressでスマホサイトだけカスタム投稿タイプのパーマリンク取得が上手く出来ないっていう現象に見舞われて小一時間ロスしたのでその対処法。

詳しい状況

・PCサイトでは全く同じget_postsで正しいパーマリンクが取れている。
・PCとスマホのテンプレは「Multi Device Switcher」で切り分け。
・get_postsでカスタム投稿のタイトルやカスタムフィールドの値は取れている。

という状況。PCではおんなじget_postsで全く問題無いし、カスタム投稿のタイトルやカスタムフィールドの値も取れているのでなんでパーマリンクだけ正しい値が取れないのか全く謎であった。

1.jpg

こんな感じで.com/の後ろにカスタム投稿名が入らない。なぜだ、何故なんだ・・・。

対処法

2.jpg

色々対処法を模索してみたところ、スマホのテンプレートフォルダ内のfunction.phpにもPCのと同じカスタム投稿追加用のコードを追加してやると直った。

そういえば前まではカスタム投稿を作る際は「Custom PostType UI」を使っていたのだが、その時は別にこの作業はしていないので、CPTUIは自動で上手いことしてくれていたのだろう。

というわけで「Multi Device Switcher」でデバイス切り分けしてカスタム投稿を手動で作る場合はそれぞれのテーマのfunction.phpにカスタム投稿タイプを作るコードを入れておかないとパーマリンクの値が取得出来ない事が有るので、万が一同じケースの方がおられたら参考にしてみて下さい。