Wp-plugins(必须使用Plugins)URL是否可以在unctions.php中使用?

时间:2013-01-07 作者:Travis Pflanz

wp插件(必须使用插件)URL是否可以作为在函数中使用的目标。php?我有一个mu函数。mu plugins文件夹中的php文件。一个函数调用javascript文件(alerts.js) 位于example.com/wp-content/mu-plugins/js/. 如何在我的函数中定位mu插件文件夹?

目前,我正在使用get_site_url() . \'/wp-content/mu-plugins/js/alerts.js\',

虽然与问题不完全相关,但这是用于调用javascript文件的完整函数:

function load_my_alerts(){
      wp_register_script( 
        \'my_alerts\', 
        get_site_url() . \'/wp-content/mu-plugins/js/alerts.js\', 
        array( \'jquery\' )
    );
    wp_enqueue_script( \'my_alerts\' );
}
add_action(\'admin_enqueue_scripts\', \'load_my_alerts\');

4 个回复
最合适的回答,由SO网友:bosco 整理而成

EDIT: this solution is not a best-practice. Please use the solution submitted by Nathan below!

Use the WPMU_PLUGIN_DIR and WPMU_PLUGIN_URL constants :)

function load_my_alerts(){
    wp_register_script( 
        \'my_alerts\', 
        WPMU_PLUGIN_URL . \'/js/alerts.js\', 
        array( \'jquery\' )
    );
    wp_enqueue_script( \'my_alerts\' );
}
add_action(\'admin_enqueue_scripts\', \'load_my_alerts\');
SO网友:DarkNeuron

仅供参考,Nathan的示例仅适用于常规插件,而不是“必须使用插件”。要使其适用于MU插件,需要传递调用文件:

plugins_url(\'/path/to/whatever\', __FILE__)

SO网友:Nathan Powell

使用常量不是好的做法。对于此功能,应始终使用plugins_url() 已看到函数here in the codex.

    function load_my_alerts(){

        wp_register_script(
            \'my_alerts\',
            plugins_url(\'js/alerts.js\'),
            array( \'jquery\' )
        );

        wp_enqueue_script( \'my_alerts\' );

    }

    add_action(\'admin_enqueue_scripts\', \'load_my_alerts\');

SO网友:Steven

使用时plugins_url() 在mu插件之外,您需要指定插件的完整路径,该路径位于mu-plugins 目录例如,在主题的functions.php 文件

以下是正确的工作版本,其中plugins_url() 中插件的完整路径mu-plugins 目录

请看codex 了解更多信息。

function load_my_plugin_script(){

    wp_register_script(
        \'my_plugin_script\',
        plugins_url(\'my_plugin.js\', \'/wp/wp-content/mu-plugins/my_plugin\')
    );

    wp_enqueue_script( \'my_plugin_script\' );

}

add_action(\'admin_enqueue_scripts\', \'load_my_plugin_script\');

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php