1

コードの問題ではありません。この特定のケースで物事がどのように機能するかわかりません。

私は、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 の前に実行されているようで、それ自体の機能が壊れています。

4

1 に答える 1