コードの問題ではありません。この特定のケースで物事がどのように機能するかわかりません。
私は、JavaScript を介して PHP コードの一部を動的にロードする必要がある Wordpress テーマを使用しています。デバイスがモバイルの場合、とにかくモバイル テンプレートを使用する必要があるため、実際には UA Sniffing と組み合わせて機能しますが、それは重要ではありません。
- screen.width が 1080px 未満の場合、Wordpress テーマのモバイル バージョンのメニューが読み込まれます。
- それ以外の場合、screen.width が大きい場合は、デスクトップ メニュー バージョンをロードする必要があります。
- デスクトップ バージョンは重すぎるため、CSS メディア クエリのみに基づくソリューションは受け入れられません。
そこで、 enquire.jsを介してコンテンツを条件付きで動的にロードすることにしまし た。私の WP-homepage-template.php の最初の部分は次のとおりです。
enquire.register("screen and (max-width:1080px)", {
<script type="text/javascript">
match : function() {
$("body").load(
"/path/headernav-phone.php"
);
unmatch : function() {
$("body").load(
"/path/headernav-desktop.php"
);
}
}
したがって、画面のサイズが 1080px に達すると、Wordpress は wp_nav_menu(MOBILE) 呼び出しだけを含む headernav-phone.php をロードする必要があります。画面サイズが大きい場合、Wordpress は wp_nav_menu(DESKTOP) を含む headernav-desktop.php を読み込みます。
これは機能しません:
致命的なエラー: 14 行目の /XX/YYY/ZZZ/webseiten/XXX.YY/wp-content/themes/MyTheme/templates/headernav-phone.php の未定義関数 wp_nav_menu() の呼び出し
私のコードは CMS の前に実行されているようで、それ自体の機能が壊れています。