我在 Wordpress 中为我的摄影网站创建了 TwentyTwelve 主题的子主题。
在照片库页面中,单击缩略图会触发 Fancybox 或 Photoswipe,具体取决于屏幕尺寸(如果使用 <500 像素的 Photoswipe,因为它可能是移动设备)。
为了获得更好的性能,我只想加载所需的 javascript、Fancybox 或 Photoswipe,但不能同时加载它们。
我没有使用 Fancybox/Photoswipe 的插件,而是使用 wp_enqueue_style 和 wp_enqueue_script 将它们加载到子主题 functions.php 中
Fancybox/Photoswipe 之间的选择是在另一个 javascript 文件中进行的,该文件也在 functions.php 中排队:根据 jQuery(window).width() 的结果;它会在某些元素上触发 Fancybox 或 Photoswipe:
jQuery(document).ready(function() { windows_size = jQuery(window).width(); if( windows_size > 500) { // Load Fancybox jQuery(".brick a").fancybox({ [...] else { // Load Photoswipe jQuery(".brick a").photoSwipe({ [...]
我不能使用任何像 is_page(...) 这样的 WP 函数,因为两个脚本都是在同一个页面上触发的
我不知道是否有可能使用 Wordpress 在上面的 javascript 中加载 Photoswipe(js 和 css)所需的所有文件
我宁愿不使用用户代理来检测移动设备
我在 Google 和 StackOverflow 上进行了搜索,但找不到与 Wordpress 和这种情况特别相关的任何答案。
谢谢你的帮助。