Faltan categorías de productos de Woocommerce (no se muestran) al agregar productos

3 minutos de lectura

Recientemente me encontré con un problema en el que no puedo asignar productos a categorías, ya que las categorías no se muestran en el cuadro meta al agregar productos. Aquí está el ejemplo:

Una vez que agrego la nueva categoría, parece desaparecer cuando se vuelve a cargar la página. Puede ver que dice 6 artículos pero no muestra ninguna categoría. Aquí hay un ejemplo: dfeUm

  • asegúrese de no haber agregado el mismo slug para otra taxonomía personalizada, también verifique si algún complemento crea el problema.

    – dipmala

    22 de agosto de 2018 a las 11:28

  • @dipmala gracias por el comentario. He mirado en otras categorías y allí todos hacen lo mismo. No he agregado un nuevo complemento o actualizado por un tiempo y esto acaba de suceder.

    – máx.

    22 de agosto de 2018 a las 11:48

  • parece que tienes un conflicto en alguna parte. Intenta cambiar a uno de los temas predeterminados de WordPress [IE: 2017] y ver si el problema sigue ahí. Si es así, intente desactivar todos sus otros complementos excepto Woocommerce y vea si el problema desaparece. Si activa los complementos 1 por 1 hasta que encuentre al culpable. ¡Haría una copia de seguridad adecuada del sitio primero por si acaso! [duplicator plugin is really good, it preserves everything perfectly and puts the site into an easy to use .zip file]

    – alce

    23 de agosto de 2018 a las 14:02


avatar de usuario
Richard Cagle

OP creó un Sabiduría de los antiguos publicar para mí con este.

Encendí la depuración y vi un error discutido en esta pregunta: Cómo resolver “La cláusula ORDER BY no está en la lista SELECT” causó MySQL 5.7 con SELECT DISTINCT y ORDER BY. Estaba usando un servicio MySQL administrado de Digital Ocean y no podía modificar la configuración global o my.cnf archivos

Para mi futuro yo y otros vagabundos. Mi problema era que MySQL’s ‘ANSI‘ el modo incluye ‘ONLY_FULL_GROUP_BY’.

WordPress filtra ‘ONLY_FULL_GROUP_BY’ por defecto en /wp-includes/wp-db.php pero mi servidor SQL administrado tenía ANSI configurado por defecto también.

Mi solución fue hacer un pequeño complemento de WordPress que se aseguraría de que ambas cosas se eliminó cada sesión.
https://fishy.getgit.co/fishy/remove-ansi-sql-mode

O simplemente copiar/pegar:

<?php
/*
Plugin Name: Remove ANSI SQL_MODE
Version: 1.0
Description: Removes the 'ANSI' SQL MODE if it exists as it contains 'ONLY_FULL_GROUP_BY' since MySQL 5.7.5. See https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_ansi
*/
class Remove_Ansi_Sql_Mode {
    static function init(){
        add_action('init', array( __CLASS__, 'strip_ansi_mode' ) );
    }

    static function strip_ansi_mode(){
        global $wpdb;
        // Copied from /wp-includes/wp-db.php
        $incompatible_modes = array(
          'NO_ZERO_DATE',
          'ONLY_FULL_GROUP_BY',
          'STRICT_TRANS_TABLES',
          'STRICT_ALL_TABLES',
          'TRADITIONAL',
          'ANSI' // Adding ANSI
        );
        $sql_modes = explode(',', $wpdb->get_col( "SELECT @@SESSION.sql_mode" )[0]);
        foreach ($sql_modes as $key => $value) {
          if(in_array($value, $incompatible_modes)){
            unset($sql_modes[$key]);
          }
        }
        $wpdb->set_sql_mode($sql_modes);
    }   

}
Remove_Ansi_Sql_Mode::init();

Tuve este mismo problema después de actualizar a WooCommerce 3.6. Lo resolvió desactivando el complemento WP Term Images.

  • ¡Este también era mi problema!

    -Richard Buff

    16 dic 2021 a las 16:05

Prueba esto, te está funcionando

Mostrar captura de pantalla de categorías de productos

  • gracias por el comentario. El problema es que mis menús tampoco se muestran. Extraño

    – máx.

    22 de agosto de 2018 a las 13:25

  • Lo siento, no entiendo. Tengo un tema hijo si esto ayuda. Por favor explique lo que quiere decir.

    – máx.

    22 de agosto de 2018 a las 14:02

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad