Obtener la URL del directorio del plugin

28 dic 2013, 19:46:08
Vistas: 23.9K
Votos: 3

Estoy tratando de usar el Framework de Opciones SMOF en un plugin y tengo este problema. SMOF usa estas constantes para obtener la URL del directorio del tema:

if( !defined('ADMIN_PATH') )
    define( 'ADMIN_PATH', get_template_directory() . '/admin/' );
if( !defined('ADMIN_DIR') )
    define( 'ADMIN_DIR', get_template_directory_uri() . '/admin/' );

Pero quiero usar SMOF en un plugin, no en un tema, ¿cómo puedo obtener la URL del directorio del plugin? ¿Qué debo usar en lugar de get_template_directory() y get_template_directory_uri() para usarlo en un plugin?

0
Todas las respuestas a la pregunta 2
1
11

Usa plugin_dir_url( __FILE__ ); para la URL y plugin_dir_path( __FILE__ ); para la ruta.

Pasa el archivo principal del plugin a ambas funciones para obtener resultados similares.

Además, ADMIN_PATH y ADMIN_DIR son nombres realmente pobres para código personalizado. Podrían generar conflictos con otro código en el futuro. Intenta usar nombres mejores, algo con un prefijo único.

28 dic 2013 19:57:07
Comentarios

funcionando perfectamente para hacer llamadas a recursos locales, ¡gracias!

jonbarlo jonbarlo
15 may 2018 22:05:50
1

He creado un plugin de WordPress que utiliza código css/js personalizado, para incluir estos recursos localmente añade una línea como esta:

wp_enqueue_style( 'wp-aa-style', plugin_dir_url( __FILE__ ) . 'css/wp-aa-style.css',false,'1.1','all');

wp-aa-style es el id del elemento, asegúrate de definir una carpeta css y un archivo wp-aa-style.css dentro de la carpeta principal de tu plugin de WordPress.

Comparto esta respuesta esperando que ayude a alguien que quiera usar plugin_dir_url( __FILE__ ) para hacer llamadas a recursos locales (en lugar de URLs públicas estáticas) para plugins personalizados de WordPress.

15 may 2018 22:04:44
Comentarios

Supongo que tu plugin "demo" ya no está en GitHub... bueno. Gracias por el consejo, de todos modos.

Gwyneth Llewelyn Gwyneth Llewelyn
27 may 2023 18:23:08