SEUROficial / Wocommerce

3 stars 2 forks source link

Error de activación del plugin en instancias de WordPress personalizadas #11

Closed agarciar closed 3 weeks ago

agarciar commented 1 month ago

Nos hemos encontrado con un problema al intentar instalar el plugin en una instancia de WordPress con rutas personalizadas. WordPress permite modificar las rutas predeterminadas de directorios como wp-content o incluso wp-admin. Un ejemplo común es el uso de Bedrock, un boilerplate de WordPress con una estructura de carpetas personalizada.

Descripción del problema:

El plugin no se activa si la instalación de WordPress no utiliza la estructura de directorios predeterminada. El problema se encuentra en el archivo /core/functions/functions.php, específicamente en la línea 14:

require_once ABSPATH . 'wp-content/plugins/woocommerce/includes/admin/wc-admin-functions.php';

Actualmente, la ruta al archivo de funciones de WooCommerce está definida en código con wp-content, lo que causa un fallo en instalaciones donde se han modificado las rutas predeterminadas. En lugar de esto, se debería utilizar una constante o función que determine la ubicación correcta del directorio de plugins de forma dinámica, como WP_PLUGIN_DIR.

Solución propuesta:

Actualizar el código para utilizar la constante WP_PLUGIN_DIR, que proporciona la ruta adecuada al directorio de plugins, independientemente de la estructura personalizada de WordPress. El código podría modificarse de la siguiente manera:

require_once WP_PLUGIN_DIR . '/woocommerce/includes/admin/wc-admin-functions.php';

Con esta modificación, el plugin será compatible con instalaciones de WordPress que utilicen rutas personalizadas, mejorando su flexibilidad.

SEUROficial commented 1 month ago

Nos hemos encontrado con un problema al intentar instalar el plugin en una instancia de WordPress con rutas personalizadas. WordPress permite modificar las rutas predeterminadas de directorios como wp-content o incluso wp-admin. Un ejemplo común es el uso de Bedrock, un boilerplate de WordPress con una estructura de carpetas personalizada.

Descripción del problema:

El plugin no se activa si la instalación de WordPress no utiliza la estructura de directorios predeterminada. El problema se encuentra en el archivo /core/functions/functions.php, específicamente en la línea 14:

require_once ABSPATH . 'wp-content/plugins/woocommerce/includes/admin/wc-admin-functions.php';

Actualmente, la ruta al archivo de funciones de WooCommerce está definida en código con wp-content, lo que causa un fallo en instalaciones donde se han modificado las rutas predeterminadas. En lugar de esto, se debería utilizar una constante o función que determine la ubicación correcta del directorio de plugins de forma dinámica, como WP_PLUGIN_DIR.

Solución propuesta:

Actualizar el código para utilizar la constante WP_PLUGIN_DIR, que proporciona la ruta adecuada al directorio de plugins, independientemente de la estructura personalizada de WordPress. El código podría modificarse de la siguiente manera:

require_once WP_PLUGIN_DIR . '/woocommerce/includes/admin/wc-admin-functions.php';

Con esta modificación, el plugin será compatible con instalaciones de WordPress que utilicen rutas personalizadas, mejorando su flexibilidad.

Gracias, añadimos al Sprint para corregirlo para la siguiente release.

SEUROficial commented 1 month ago

Hola,

este asunto ha quedado resuelto en la release v2.2.12 publicada hoy día 30/09/82024

agarciar commented 6 days ago

Hola,

este error se ha vuelto a reproducir con la última versión 2.2.14. Se han hecho cambios que incluyen la ruta a plugins con ABSPATH. Esto provoca un error grave del servidor e imposibilita el funcionamiento de toda la web.

site/web/app/plugins/seur/classes/class-seur-scheduled-actions.php:
  11  }
  12: require_once ABSPATH . 'wp-content/plugins/woocommerce/packages/action-scheduler/action-scheduler.php';
  13