2015-04-27 1 views
2

Я работаю на странице, где я использую настраиваемый тип сообщения с 2 пользовательскими таксономиями. Мой пользовательский тип сообщения называется «сериями», и мои пользовательские таксономии называются «temporada» & «capitulo».Как группировать таксономии по группам

Я хочу перечислить все временные адреса, но сгруппировать их вместе с их соответствующими капитулиями.

Для того чтобы быть ясным, у меня есть 2 Temporadas. (temporada 1) имеют (7 capitulos) и (temporada 2) имеют (11 capitulos)

Я хочу сгруппировать все капитулы со своими соответствующими временными точками.

Im используя этот код:

<?php 

$temporada = 'temporada'; 
$capitulo = 'capitulo'; 
$tax_temporada = get_terms($temporada); 
$tax_capitulos = get_terms($capitulo); 

for ($i = 0; $i < count($tax_temporada); $i++) { 
echo '<div class="panel panel-default">'; 
echo '<div class="panel-heading" role="tab" id="c'. $tax_capitulos[$i]->name.'">'; 
echo '<h4 class="panel-title">' . '<a data-toggle="collapse" data-parent="#accordion" href="#'. $tax_temporada[$i]->name.'" aria-expanded="true" aria-controls="' . $tax_temporada[$i]->name.'" >Temporada: ' . $tax_temporada[$i]->name.'</a></h4>'; 
echo '</div>'; 
echo '<div id="'. $tax_temporada[$i]->name.'" class="panel-collapse collapse" role="tabpanel" aria-labelledby="c'. $tax_capitulos[$i]->name.'">'; 
echo '<div class="panel-body">'; 

foreach ($tax_capitulos as $tax_capitulo) { 
echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_capitulo, $taxonomy)) . '" title="' . sprintf(__("View all posts in %s"), $tax_capitulo->name) . '" ' . '>Capitulo: ' . $tax_capitulo->name.'</a></li>'; 
} 
echo '</div>'.'</div>'.'</div>'; 

} 
?> 

Код Покажите мне это: (все capitulos такие же ....)

  • -Temporada 1

    - capitulo 1

    --capitulo 2

    --capitulo 3

  • -Temporada 2

    --capitulo 1

    --capitulo 2

    --capitulo 3

Это код показывать каждую столицу

foreach ($tax_capitulos as $tax_capitulo) { 
echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_capitulo, $taxonomy)) . '" title="' . sprintf(__("View all posts in %s"), $tax_capitulo->name) . '" ' . '>Capitulo: ' . $tax_capitulo->name.'</a></li>'; 
} 

Но, это как мне нужен фильтр, чтобы показать, в capitulos с соответствующим Temporada

с этим, как я Добавить таксономию

register_taxonomy(
'temporada', 
array('series'), 
array('hierarchical' => false, 
     // This array of options controls the labels displayed in the WordPress Admin UI 
     'labels' => array(
      'name' => _x('Temporada', 'taxonomy general name'), 
      'singular_name' => _x('Temporada', 'taxonomy singular name'), 
      'search_items' => __('Buscar Temporadas'), 
      'all_items' => __('TodosTemporada las Temporadas'), 
      'parent_item' => __('Parent Temporadas'), 
      'parent_item_colon' => __('Parent Temporadas:'), 
      'edit_item' => __('Editar Temporadas'), 
      'update_item' => __('Actualizar Temporadas'), 
      'add_new_item' => __('Agregar Nueva Temporadas'), 
      'new_item_name' => __('Nuevo Temporadas Nombre'), 
      'menu_name' => __('Temporada'), 
      'separate_items_with_commas' => __('Temporada del capitulo, Ej: 1, 2', 'cc'), 
    'choose_from_most_used' => __('Buscar entre los mas Usados', 'cc'), 
     ), 
// Control the slugs used for this taxonomy 
'show_ui'    => true, 
    'show_admin_column'  => true, 
    'update_count_callback' => '_update_post_term_count', 
    'query_var'    => true, 
    'rewrite'    => false, 


)); 
register_taxonomy(
'capitulo', 
array('series'), 
array('hierarchical' => false, 
     // This array of options controls the labels displayed in the WordPress Admin UI 
     'labels' => array(
      'name' => _x('Capitulo', 'taxonomy general name'), 
      'singular_name' => _x('capitulo', 'taxonomy singular name'), 
      'search_items' => __('Buscar capitulo'), 
      'all_items' => __('Todos las capitulo'), 
      'parent_item' => __('Parent capitulo'), 
      'parent_item_colon' => __('Parent capitulo:'), 
      'edit_item' => __('Editar capitulo'), 
      'update_item' => __('Actualizar capitulo'), 
      'add_new_item' => __('Agregar Nueva capitulo'), 
      'new_item_name' => __('Nuevo Nombre Capitulo'), 
      'menu_name' => __('Capitulo'), 
      'separate_items_with_commas' => __('Capitulo, Ej: 1, 2', 'cc'), 
    'choose_from_most_used' => __('Buscar entre los mas Usados', 'cc'), 
     ), 
// Control the slugs used for this taxonomy 
'show_ui'    => true, 
    'show_admin_column'  => true, 
    'update_count_callback' => '_update_post_term_count', 
    'query_var'    => true, 
    'rewrite'    => false, 


)); 

} 
add_action('init', 'serie_custom_taxonomies', 0); 

Любая помощь или предложения будут оценены.

ответ

0

Мне потребовалось некоторое время, но я вижу вашу проблему.

Ваша внутренняя петля, которая является хорошим дружественным foreach (я предпочитаю foreach к for), но это цикл все $tax_capitulos, потому что вы не сказали ему, как найти только $tax_capitulos, которые относятся к $tax_temporada.

То, как вы описываете систему $tax_capitulos, принадлежит или принадлежит $tax_temporada, но ваш код не отражает это.Я не знаю, система достаточно хорошо, чтобы знать объектные отношения, но я ожидал увидеть что-то из родственников:

foreach ($tax_temporada->tax_capitulos as $tax_capitulo) { 
    // etc 
} 

или

foreach ($tax_capitulos[$tax_temporada[$i]] as $tax_capitulo) { 
    // etc 
} 

или

foreach (get_tax_capitulos($tax_temporada[$i]) as $tax_capitulo) { 
    // etc 
} 

или что-то который определяет отношения. У меня есть сомнения, что так работает формат данных, но я надеюсь, что вы понимаете, что я здесь делаю.

В настоящее время вы получаете все $tax_capitulos, перечисленные под каждым $tax_temporada, потому что это то, что вам говорит код.

Я надеюсь, что это каким-то образом поможет вам. Это касается того, насколько я могу идти навстречу вашему вопросу, не зная больше о вашей более широкой базе кода.

+0

Im Использование 2 пользовательских таксономии, 1 temporada (сезон) и 1 capitulo (глава). Моя проблема заключается в том, что вы описываете «ваш код не отражает этого». Я пытаюсь несколько раз, но получаю ошибки. – Chris

+0

Я добавляю еще код, который я использую, чтобы показать таксономию, я надеюсь, что помощь. – Chris

 Смежные вопросы

  • Нет связанных вопросов^_^