【问题标题】:How to manually add Shadowbox.setup() to the footer of your theme?如何手动将 Shadowbox.setup() 添加到主题的页脚?
【发布时间】:2011-05-07 21:54:55
【问题描述】:
我的 Wordpress 网站有两个版本,一个是全尺寸版本,一个是用于移动浏览器的。
我想关闭移动主题的Shadowbox.JS plugin。 (我想直接打开图片)
我在插件的高级设置中找到了一些东西。
跳过设置:真/假。
将此设置为 true 以在 Shadowbox.init() 期间跳过 Shadowbox.setup()。出于此插件的目的,您必须手动将 Shadowbox.setup() 添加到主题的页脚。默认为 false。
如何手动将 Shadowbox.setup() 添加到主题的页脚?
我的想法是我将它添加到完整主题中,Shadowbox 可以工作,但我不会将它添加到移动主题中,链接会直接打开图像。
【问题讨论】:
标签:
wordpress
footer
shadowbox
【解决方案1】:
听起来Shadowbox.setup() 是由 Shadowbox-js 创建的自定义动作挂钩。如果放置在您的页脚中,就像任何其他 WordPress 模板标签一样,它会触发插件以获取您在高级配置屏幕中设置的选项。
我建议将高级选项设置为 true(如“跳过设置”),并将模板标签放在移动主题的页脚中。当移动主题页脚加载时,插件应该停用。不要将它放在你的完整主题中,插件将忽略高级设置,保持插件处于活动状态。
【解决方案2】:
您可以使用正则表达式来测试域名及其路径。
if( /mobile.example.com/.test(window.location) == false ) {
Shadowbox.init();
}
// Or check the path for (example.com/mobile)
if( /example.com\/mobile/.test(window.location) == false ) {
Shadowbox.init();
}
【解决方案3】:
@kevtrout:Skip setup = true 意味着插件不起作用。 False(默认)表示它有效。
据我所知,它说我需要在页脚中放入那个 Shadowbox.setup() 模板标签,以使其再次工作,因为它缺少它。所以我必须将它包含在完整主题中,而不是移动主题中。
无论如何,我都尝试过这两种变体!问题是当我将“跳过设置”设置为 true 时,Shadowbox 对这两个主题都不起作用。我可能没有在页脚中插入代码!
我为此道歉,你能写出我应该使用的确切语法吗?
【解决方案4】:
哦。很抱歉打扰您,这可能是某种缓存问题,我不是很彻底。是的,确实:
高级设置 > 跳过设置 = true
完整主题的footer.php
<script type="text/javascript">
Shadowbox.init();
Shadowbox.setup();
</script>
Mobile 主题的 footer.php 保持不变。
它有效!