Pregunta sobre Shortcode in Menus de Wordpress:

Anuncios PHP

Un usuario preguntó 👇

Hola,

después de configurar WP Debug en True Alerts y habilitar PHP, el plugin genera alertas con éxito. Espero que sea uno con una solución fácil.

El origen del problema de la línea 124 en el archivo /includes/class-shortcode-in-menus.php. Parece que esta línea está probando una propiedad del objeto $ item que no está presente.

(@ gagan0123)

Hace 2 años, 6 meses

@dhunink

Gracias por reportar el problema.

¿Puede proporcionar más detalles sobre el tema que se está utilizando y qué versión de WordPress está utilizando?

Además, ¿podría enumerar otros plugins que se están utilizando en los sitios para menús?

En la línea 124, violando el comportamiento por defecto de los menús a través del filtro y según el documento, se aplica el filtro walker_nav_menu_start_el Debería proporcionar un objeto $ item. https://developer.wordpress.org/reference/hooks/walker_nav_menu_start_el/

Si otro plugin está generando menús, no cumple con el estándar de WordPress y no proporciona ese objeto, prestará atención a la advertencia.

Mientras tanto, agregaré una verificación adicional al plugin para ver si el objeto $ item tiene ciertas propiedades o no, para corregir este problema.

(@dhunink)

Hace 2 años, 6 meses

¡Hola! He hecho más depuración y lo describí en un caso específico en el que no se establece ningún menú para la configuración del menú. Sucede mucho cuando el plugin se instala en una nueva instalación cuando el usuario no ha creado menús y / o asignado estos menús a una configuración de menú. En ese caso, el objeto $ item está vacío, lo que es un comportamiento normal. Pero el código siempre asume que el objeto $ item contiene algo. Mi recomendación: ponga una simple verificación en la función que verifica si el objeto $ item contiene el contenido deseado. De lo contrario, no es necesario continuar con la función.

(@hbwarper)

Hace 2 años

Reemplazo:
if ( 'gs_sim' !== $item->object ) {
y:
if (!isset($item->object) || $item->object !== 'gs_sim'){

y reemplazo
if ('FULL HTML OUTPUT' === $item->post_title ) {
le
if (isset($item->post_title) && 'FULL HTML OUTPUT' === $item->post_title ) {

En el archivo: wp-content / plugins / shortcode-in-menus / include / class-shortcode-in-menus.php Este plugin evita que el registro se llene con miles de líneas de error por día.

(@dhunink)

Hace 2 años

@ gagan0123 ¿quieres solucionar este problema, siguiendo la sugerencia de @hbwarper?

(@ gagan0123)

Hace 2 años

@dhunink

Sí, agregaré este parche y lo actualizaré mañana.

@hbwarper

Gracias por el parche 🙂, ¿estaría bien si uso su nombre en la lista de participantes para el plugin?

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *