仅在特定页面上加载wordpress插件

时间:2015-07-04 11:24:47

标签: php wordpress

我正在为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
    );
}

2 个答案:

答案 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内部还是外部调用函数。

请参阅LongTimePattern property

<?php
$allowedIds = array(12,13,14);
if (in_array($currentID,$allowedIds)) soundninja_enqueue($hook);

另一种选择是将当前页面/帖子ID作为参数传递给函数,并在您选择的函数内执行相同的if测试。