Niestandardowy typ postu z niestandardową taksonomią w akordeonie Bootstrap 4
WordPress Development Stack Exchange to strona z pytaniami i odpowiedziami dla programistów i administratorów WordPress. Rejestracja zajmuje tylko minutę.
Zarejestruj się, aby dołączyć do tej społeczności
Każdy może zadać pytanie
Każdy może odpowiedzieć
Najlepsze odpowiedzi są głosowane i wznoszą się na szczyt
Spytał
Oglądane923 razy
Mam CPT z niestandardową taksonomią i muszę pokazać tę treść w akordeonie Bootstrap 4.
Jak na razie mam to:
<?php
$terms = get_terms( array(
'taxonomy' => 'ano'
));
foreach($terms as $term) { ?> <div id="accordion" role="tablist"> <div class="card">
<div class="card-header" role="tab" id="heading-<?php the_ID(); ?>">
<h5 class="mb-0">
<a data-toggle="collapse" href="#collapse-<?php the_ID(); ?>" aria-expanded="true" aria-controls="collapse-<?php the_ID(); ?>">
<?php echo $term->name; ?>
</a>
</h5>
</div>
<div id="collapse-<?php the_ID(); ?>" class="collapse<?php echo ($the_query->current_post == 0 ? ' in' : ''); ?> show" role="tabpanel" aria-labelledby="heading-<?php the_ID(); ?>" data-parent="#accordion">
<div class="card-body">
<?php $event = new WP_Query('post_type=Paradas&posts_per_page=-1');
while ($event->have_posts()) : $event->the_post(); ?>
<p><?php the_title(); ?></p>
<?php endwhile ; wp_reset_query(); ?>
Taksonomia jest wyświetlana poprawnie w nagłówku, ale treść jest taka sama, niezależnie od taksonomii
2
Tutaj rozwiązanie:
<?php
$post_type="paradas";
// Get all the taxonomies for this post type
$taxonomies = get_object_taxonomies( (object) array( 'post_type' => $post_type ) );
foreach( $taxonomies as $taxonomy ) :
// Gets every "category" (term) in this taxonomy to get the respective posts
$terms = get_terms( $taxonomy,
array(
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => '1'
)
);
foreach( $terms as $term ) :
// WP_Query arguments
$args = array (
'post_type' => $post_type,
'posts_per_page' => '-1',
'tax_query' => array(
array(
/**
* For get a specific taxanomy use
*'taxonomy' => 'category',
*/
'taxonomy' => $taxonomy,
'field' => 'slug',
'terms' => $term->slug,
)
)
);
// The Query
$posts = new WP_Query( $args );
// The Loop
if( $posts->have_posts() ) : ?>
<dl id="box-loop-list-<?php echo $term->slug ;?>"> <div id="accordion" role="tablist"> <div class="card">
<div class="card-header" role="tab" id="heading-<?php the_ID(); ?>">
<h5 class="mb-0">
<a data-toggle="collapse" href="#collapse-<?php the_ID(); ?>" aria-expanded="true" aria-controls="collapse-<?php the_ID(); ?>">
<?php echo $term->name; ?>
</a>
</h5>
</div>
<div id="collapse-<?php the_ID(); ?>" class="collapse<?php echo ($the_query->current_post == 0 ? ' in' : ''); ?>" role="tabpanel" aria-labelledby="heading-<?php the_ID(); ?>" data-parent="#accordion">
<div class="card-body">
<?php while( $posts->have_posts() ) : $posts->the_post(); ?>
<p><?php the_title(); ?></p>
<?php endwhile; ?>
</div>
</div>
lang-php