• ResueltoModerador almendron

    (@almendron)


    Hasta la versión 8.1.1 del plugin JetPack funcionaba perfectamente lo siguiente:

    if (!class_exists('Jetpack') || !Jetpack::is_module_active('publicize')) return;

    Esto hacía que el código restante no se aplicara en caso de que Jetpack no esuviera instalado o que el módulo Publicize no estuviera activo. No obstante, a partir de la mencionada versión daba un error:

    Notice: Jetpack_Options was called incorrectly. Not all plugins have loaded yet but we requested the class Jetpack_Options Please see Debugging in WordPress for more information. (This message was added in version 1.1.2.0.) in /xxxxxx/wp-includes/functions.php on line 4989

    De las dos funcionas, es !Jetpack::is_module_active('publicize') la que provoca el error.

    He preguntado en el foro de JetPack y me dice que use https://developer.jetpack.com/hooks/jetpack_active_modules/

    Ahora bien, la función «is_module_active» existe:

    https://github.com/Automattic/jetpack/blob/8.4.2/class.jetpack.php/#L2799

    He probado con

    $bool = Jetpack::is_module_active( 'publicize' );
    if (!class_exists('Jetpack') || $bool == false ) return;

    pero sigue arrojando el mismo error.

    La pregunta, por tanto, sería:

    1) ¿Cómo usar la función «is_module_active»?

    2) Si eso no fuera posible, ¿cómo saber si un código está activo o no usando el filtro que me han indicado en el foro del plugin?

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Moderador kallookoo

    (@kallookoo)

    Hola @almendron

    Si ver el codigo, diria que tu comprobacion la realizas antes de que este todo cargado. Utiliza por ejemplo el gancho wp_loaded o wp y realizas esa comprobacion

    Saludos

    Moderador almendron

    (@almendron)

    @kallookoo : al parecer es un fallo de Jetrpack. Han llevado la consulta que les hice a los desarrolladores. El caso es que dejó de funcionar en la versión 8.1.1 y sigue sin hacerlo. Algo han modificado y ahora salta el error.

    Una vez lo hayan resuelto, pondré aquí la solución o el aviso.

    Moderador almendron

    (@almendron)

    Lo solucionaron en la siguiente actualización pero no explicaron la forma de hacerlo.

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • El debate ‘Sustitución de función’ está cerrado a nuevas respuestas.