WordPress carga una hoja de estilo a través del complemento

3 minutos de lectura

avatar de usuario
peleastarr20

He escrito un complemento de WordPress y quiero que incluya algunas hojas de estilo css, he intentado usar el proceso que suelo usar en un archivo functions.php de temas…

add_action('wp_enqueue_script','register_my_scripts');

function register_my_scripts(){
    $dir = plugin_dir_path( __FILE__ );
    wp_enqueue_style( $dir . 'css/style1.css');
    wp_enqueue_style( $dir . 'css/style2.css');
}

Pero esto no está cargando nada, ¿qué estoy haciendo mal?

  • wp_enqueue_style('custom-style', plugins_url( '/css/my-style.css', __FILE__ ), array(),'all'); dónde plugins_url es relativo a la base del complemento sin barra oblicua.

    – Obmerk Kronen

    13 de febrero de 2014 a las 16:25

  • Veo que a su gancho de acción ‘wp_enqueue_script’ le falta el carácter ‘s’. Es una acción de enlace, no una función, por lo que el derecho debe ser ‘wp_equeue_scripts’ [1]. [1]. codex.wordpress.org/Plugin_API/Action_Reference/…

    – Nga Nguyen Duy

    23 de julio de 2015 a las 7:50


El gancho que necesitas usar es wp_enqueue_scripts, te faltaba la ‘s’.

Obtiene la ruta del directorio cuando lo que necesita es la URL del directorio.

El primer parámetro de wp_enqueue_style es un identificador y no la URL.

function wpse_load_plugin_css() {
    $plugin_url = plugin_dir_url( __FILE__ );

    wp_enqueue_style( 'style1', $plugin_url . 'css/style1.css' );
    wp_enqueue_style( 'style2', $plugin_url . 'css/style2.css' );
}
add_action( 'wp_enqueue_scripts', 'wpse_load_plugin_css' );

avatar de usuario
Rahil Wazir

Tu estas usando plugin_dir_path que genera la ruta del directorio del sistema de archivos. En su lugar, necesita URL.

También el primer parámetro de wp_enqueue_style es $handler nombre.

Usar plugins_url

wp_enqueue_style( 'style1', plugins_url( 'css/style1.css' , __FILE__ ) );

Código completo:

add_action('wp_enqueue_scripts','register_my_scripts');

function register_my_scripts(){
    wp_enqueue_style( 'style1', plugins_url( 'css/style1.css' , __FILE__ ) );
    wp_enqueue_style( 'style2', plugins_url( 'css/style2.css' , __FILE__ ) );
}

  • es wp_enqueue_style( ‘style2’, plugins_url( ‘css/style2.css’ , dirname(__FILE__) ) ); ver : codex.wordpress.org/Function_Reference/plugins_url#Common_Usage

    – luciole135

    29 de octubre de 2015 a las 11:16


  • @luciole135 Si está utilizando el plugins_url() función en un archivo que está anidado dentro de un subdirectorio de su directorio de complementos, debe usar dirname(__FILE__) se puede usar si el archivo no está en la raíz del directorio del complemento.

    – Rahil Wazir

    29/10/2015 a las 11:37

  • Sí, ahora uso plugin_dir_url()

    – luciole135

    31/10/2015 a las 18:33

  • este código es para scripts, no para estilo.

    – Debbie Kurth

    21 de noviembre de 2021 a las 17:48

  • @DebbieKurth Puedes usar wp_enqueue_script para inyectar scripts.

    – Rahil Wazir

    22 de noviembre de 2021 a las 14:21

probar :

wp_enqueue_style('custom-style', plugins_url( '/css/my-style.css', __FILE__ ), array(),'all'); dónde plugins_url es relativo a la base del complemento sin barra oblicua.

Cargue estilos desde la carpeta del complemento wp usando la url del complemento

function add_plugin_stylesheet() 
    {
      wp_enqueue_style( 'style1', plugins_url( '/css/styleFileName1.css', __FILE__ ) );
      wp_enqueue_style( 'style2', plugins_url( '/css/styleFileName2.css', __FILE__ ) );
    }

    add_action('admin_print_styles', 'add_plugin_stylesheet');

¿Ha sido útil esta solución?