Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Error con get_terms()

Estas en el tema de Error con get_terms() en el foro de WordPress en Foros del Web. Código PHP:   if ( function_exists ( 'acf_add_local_field_group' )):        $taxonomy  =  'niño' ;        $tax_terms  =  get_terms ( $taxonomy );        // $tax_terms = array('termino_uno','termino_dos',);        $args  = array( ...
  #1 (permalink)  
Antiguo 31/03/2016, 21:09
 
Fecha de Ingreso: noviembre-2015
Mensajes: 4
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta Error con get_terms()

Código PHP:
 if (function_exists('acf_add_local_field_group')):
      
$taxonomy 'niño';
      
$tax_terms get_terms($taxonomy);
      
// $tax_terms = array('termino_uno','termino_dos',);

      
$args = array(
        
'key' => 'group_niño',
        
'title' => 'Niño',
        
'fields' => array(),
        
'location' => array(
          array(
            array(
              
'param' => 'post_type',
              
'operator' => '==',
              
'value' => 'psicologos',
            ),
          ),
        ),
      );

      foreach (
$tax_terms as $tax_term) {
          
$args['fields'][] = array(

            
// 'key' => 'field_'.$tax_term,
            // 'label' => 'titulo'.$tax_term,
            // 'name' => $tax_term,
            // 'type' => 'text',

              
'key' => 'field_'.$tax_term->slug,
              
'label' => $tax_term->name,
              
'name' => $tax_term->slug,
              
'type' => 'text',

          );
      }

     
acf_add_local_field_group($args);

     endif; 
Qué tal, estoy intentando crear campos por cada termino de una taxonomia pero el codigo sólo crea uno y sin ningun nombre, en cambio con el codigo que tengo comentado si crea los dos campos con sus respectivos nombres.

Alguien me podria guiar de por qué no funciona con get_terms() ?

Muchas gracias.
  #2 (permalink)  
Antiguo 08/04/2016, 03:58
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 11 meses
Puntos: 832
Respuesta: Error con get_terms()

Cita:
Iniciado por zaezRain Ver Mensaje
Alguien me podria guiar de por qué no funciona con get_terms() ?

Muchas gracias.
Te tira un false porque seguramente tus categorías están vacías. Debes definir el parámetro "hide_empty" a "0" porque viene en "1" por defecto, házlo así:

Código PHP:
Ver original
  1. $tax_terms = get_terms( $taxonomy , array('hide_empty' => 0) );
o así (es la misma cosa):
Código PHP:
Ver original
  1. $tax_terms = get_terms( $taxonomy , 'hide_empty=0' );
  #3 (permalink)  
Antiguo 12/04/2016, 17:14
 
Fecha de Ingreso: noviembre-2015
Mensajes: 4
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Error con get_terms()

Cita:
Iniciado por metacortex Ver Mensaje
Te tira un false porque seguramente tus categorías están vacías. Debes definir el parámetro "hide_empty" a "0" porque viene en "1" por defecto, házlo así:

Código PHP:
Ver original
  1. $tax_terms = get_terms( $taxonomy , array('hide_empty' => 0) );
o así (es la misma cosa):
Código PHP:
Ver original
  1. $tax_terms = get_terms( $taxonomy , 'hide_empty=0' );
Qué tal, el problema era que las taxonomias no cargaban a tiempo y por eso aparecia vacio, lo logre solucionar con el siguiente codigo:


Código PHP:
add_action('init''my_acf_add_local_field_groups_niño'9999);

function 
my_acf_add_local_field_groups_niño() {

    
$tax_terms get_terms('niño',array('hide_empty' => 0,));
    
$args = array(
      
'key' => 'group_niño',
      
'title' => 'Niño',
      
'fields' => array(),
      
'location' => array(
        array(
          array(
            
'param' => 'post_type',
            
'operator' => '==',
            
'value' => 'psicologos',
          ),
        ),
      ),
    );

    foreach (
$tax_terms as $tax_term) {
        
$args['fields'][] = array(

            
'key' => 'field_'.$tax_term->slug,
            
'label' => $tax_term->name,
            
'name' => $tax_term->slug,
            
'type' => 'textarea',
            
'wrapper' => array (
  
'width' => '50%',
  
'class' => $tax_term->slug,
  
'id' => $tax_term->slug,
),

        );
    }
     
acf_add_local_field_group($args);


Etiquetas: custom, fields, foreach
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:54.