我正在为wordpress开发一个插件,可以在页面中加载javascript。 但我希望这个插件只加载在选定的页面上。不是所有页面。 有人可以建议怎么做吗? 这是代码。
add_action('wp_enqueue_scripts', 'soundninja_enqueue');
function soundninja_enqueue($hook)
{
wp_enqueue_script('soundninja', // id
'http://soundninja.github.io/SNtest/build/Soundninja.min.js', // path
array('jquery'), // dependencies
0, // appends ?ver=$wordpress_version
true // in_footer
);
}
答案 0 :(得分:1)
另一种可能的解决方法是保持插件停用并仅为所需页面激活它。这可以防止在不需要插件的页面上加载插件所涉及的额外开销。最重要的是,您不必调整现有插件的代码。
以下帖子可以为您提供更多想法http://shibashake.com/wordpress-theme/how-to-selectively-load-plugins-for-specific-pages
答案 1 :(得分:0)
根据您调用函数soundninja_enqueue($hook)
的位置,您可以轻松添加if
语句,询问当前页面/帖子ID是否在允许的ID列表中。
但首先你需要获取当前页面/帖子ID,为此你有几个选项,这取决于是在The loop
内部还是外部调用函数。
<?php
$allowedIds = array(12,13,14);
if (in_array($currentID,$allowedIds)) soundninja_enqueue($hook);
另一种选择是将当前页面/帖子ID作为参数传递给函数,并在您选择的函数内执行相同的if
测试。