Términos secundarios que no se muestran en la pantalla de administración del término de taxonomía

2

Estoy experimentando un problema en el que los términos con un padre no se muestran en la pantalla de administración de categorías. La pantalla muestra el número total de términos que deberían estar allí (es decir, 32), pero solo muestra los términos principales (es decir, 9).

Curiosamente, si se ejecuta:

var_dump( get_terms( 'category' ) );

se devuelven los 32 términos.

¿Alguien tiene una idea de cómo puedo obtener esos términos para mostrar?

¡Gracias!

    
pregunta tollmanz 14.02.2012 - 18:48

3 respuestas

3

El problema fue que, de alguna manera, el valor de "category_children" en "wp_options" se restableció a una matriz serializada en blanco. En ciertos contextos, WordPress usa este valor para determinar la relación de padres e hijos. El valor en mi base de datos sugiere que no existen tales relaciones. La solución al problema fue agregar / editar / eliminar una categoría a medida que se actualiza este valor.

    
respondido por el tollmanz 14.02.2012 - 20:31
4

Me he encontrado con este tipo de problema cuando estaba creando un formulario de creación de post / término de front-end. El número oh, el panel de control "Ahora mismo" muestra el número correcto de términos, pero el nuevo término no aparece en la pantalla de administración de taxonomía.

La solución:

delete_option('taxonomy-name_children');

donde 'taxonomy-name' es el nombre de la taxonomía.

Espero esta ayuda.

    
respondido por el ifdion 17.02.2012 - 05:09
2

No tengo una 'reputación '15 ... sin embargo, gracias ifdion

Para aquellos sentados detrás de phpMyAdmin o un cliente MySQL, también puede hacer:

DELETE FROM wp_options WHERE option_name LIKE 'TAXNAME_children';

Encontré esto haciendo una importación de "producto" de 14K con código similar a (dentro de un gran bucle):

if (!term_exists($row->vendor,'manufacturer')){
    $v = wp_insert_term($row->vendor,'manufacturer');
    $lv = $v['term_id'];
}

if (!term_exists($row->series,'manufacturer',$lv)){
    $s = wp_insert_term($row->series,'manufacturer',array('parent' => $lv));
    $ls = $s['term_id'];
}

Y por alguna razón, todas las publicaciones insertadas funcionaron, pero simplemente no mostraban las taxonomías secundarias en la página de administración. Gracias de nuevo por este consejo.

    
respondido por el RingZer0 29.02.2012 - 23:04

Lea otras preguntas en las etiquetas