A URL wp-plugins (deve usar Plugins) pode ser usada em functions.php?

2

A URL do wp-plugins (deve usar plug-ins) pode ser usada em functions.php? Eu tenho um arquivo mu-functions.php na pasta mu-plugins. Uma função chama um arquivo javascript ( alerts.js ) localizado em example.com/wp-content/mu-plugins/js/ . Como posso direcionar a pasta mu-plugins na minha função?

Atualmente, estou usando get_site_url() . '/wp-content/mu-plugins/js/alerts.js',

Embora não seja completamente relevante para a pergunta, esta é a função completa usada para chamar o arquivo 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');
    
por Travis Pflanz 07.01.2013 / 23:50

4 respostas

3

EDIT: esta solução não é uma prática recomendada. Por favor, use a solução apresentada por Nathan abaixo!

Use as constantes WPMU_PLUGIN_DIR e WPMU_PLUGIN_URL :)

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');
    
por bosco 08.01.2013 / 00:18
2

FYI, o exemplo de Nathan só funciona para plugins regulares, não para "Must Use Plugins". Para fazê-lo funcionar para plugins MU, você precisa passar o arquivo de chamada:

plugins_url('/path/to/whatever', __FILE__)
    
por DarkNeuron 10.03.2016 / 15:03
1

Não é uma boa prática usar constantes. Para essa funcionalidade, deve-se SEMPRE usar a função plugins_url() vista aqui no códice .

    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');
    
por Nathan Powell 15.06.2015 / 21:02
0

Ao usar plugins_url() fora de um plugin mu, você precisa especificar o caminho completo para o plugin que está no diretório mu-plugins . Por exemplo, ao usá-lo no arquivo functions.php de um tema.

Abaixo está uma versão de trabalho correta, em que o segundo parâmetro de plugins_url() é um caminho completo para o plug-in no diretório mu-plugins .

Por favor, consulte o códice para mais informações.

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');
    
por shahar 27.11.2018 / 07:49