WordPress obtener directorio de plugins
Contents
Cuando escribes plugins que dependen de otros, como las extensiones para Easy Digital Downloads, a menudo necesitas comprobar si el plugin dependiente está activo y sólo realizar ciertas acciones si lo está. Hay varias maneras de comprobar si un plugin está activo y me gustaría guiarte a través de algunas de ellas.
La función espera que pases el nombre exacto de la carpeta y el archivo del plugin (o sólo el archivo si el plugin no tiene carpeta). Si queremos comprobar si Easy Digital Downloads está activo, podemos usar esto:
Esto funciona bien, pero tiene un gran inconveniente. Como requiere la carpeta/nombre del plugin, depende de que esos nombres nunca cambien, lo cual no es algo de lo que se pueda depender, así que esta función sólo funciona si se sabe con absoluta certeza cuál es el nombre de la carpeta/archivo del plugin.
Si sabe de una clase o función que está incluida con el plugin que está comprobando, puede usar fácilmente las funciones function_exists() y/o class_exists() para determinar si el plugin está activo.
Is_plugin_active_for_network
Aparte de comprobar manualmente si un plugin está activo, hay una forma sencilla de comprobar si un plugin está activo en WordPress usando la función is_plugin_active. Esta función incorporada toma el nombre del plugin como parámetro.
El valor $plugin es el nombre de la ruta del archivo principal del plugin. Comienza desde el nombre del directorio del plugin relativo al directorio del plugin. Así que si usted tiene un archivo principal plugin my-awesome-plugin.php bajo el directorio my-awesome-plugin entonces el valor de $plugin será el siguiente
WordPress obtener url
Estoy ejecutando un multisitio que utiliza predominantemente un solo tema infantil. Cada sitio tiene su propio esquema de color aplicado a través de unas pocas líneas de css. Cuando los sitios necesitan una funcionalidad única, se utilizan plugins de funcionalidad. Estos contienen tipos de post personalizados, redirecciones rss, tamaños de miniaturas personalizados, etc. Esto ha funcionado muy bien para mantener el archivo functions.php de nuestro tema delgado mientras nos da toda la funcionalidad que necesitamos, donde la necesitamos.
Cada sitio utiliza un único pie de página idéntico, que está integrado en el tema. En su momento, lo hicimos sabiendo que íbamos a crear sitios de departamentos como subdirectorios. El contenido entre la navegación de los servicios y el pie de página iba a ser de su propiedad, pero el contenido de los servicios y el pie de página están bloqueados. Construimos nuestro pie de página universal utilizando la función switch_to_blog y un menú personalizado.
El código anterior registra una nueva área de menú llamada Footer. Para aprovechar esto necesito crear un menú en el área de menú de wordpress con ese nombre exacto. El bit de JQuery desactiva el enlace en el primer nivel de elementos del menú. Esto con un poco de css se utiliza para crear las cabeceras del menú. Muy bien. Un pie de página idéntico que se utiliza en cada sitio que utiliza este tema hijo.
Llamada a la función indefinida is_plugin_active()
Inicio » Blog » Tecnología » Software y Herramientas » CMS » WordPress » Cómo solucionar el problema «Fatal Error: Call to Undefined Function is_plugin_active()» Problema en WordPress Cómo resolver «Fatal Error: Call to Undefined Function is_plugin_active()» Problema en WordPress 5 Compartir Actualizado el 13 de junio de 2021 ¿Alguna vez has recibido este mensaje de error? Call to undefined function is_plugin_active() in some-locationsome-file.php on line xxxDescubramos qué es este error y cómo solucionarlo.La función is_plugin_active es útil si quieres hacer algo que depende de un plugin. Por ejemplo: Si quieres mostrar el texto «Hola» cuando un plugin específico está activado, utiliza este código:if (is_plugin_active(‘specific-plugin-directory/specific-plugin-name.php’)){
El problema se produce porque la función que controla is_plugin_active no se carga antes de tu código, lo cual es probable que ocurra si lo colocas en un tema/plantilla/frontal.La solución para esto es añadir esta línea:include_once( ABSPATH . ‘wp-admin/includes/plugin.php’ );Así que tu código será así:include_once( ABSPATH . ‘wp-admin/includes/plugin.php’ );