Taxonomía de entradas en la página de archivo

Hola, yo he sido perplejo durante unos días en una manera perfecta para mostrar los postes utilizando mi tipo de correos personalizados (pista) y las taxonomías (género, sub_genre). Cuando un usuario va a http://sitename.com/genre/"sub_genre nombre ', yo quiero que todos los mensajes de ese sub_genre ser categorizados por esas taxonomías sub_genre con contenido. ex...

http://sitename.com/genre/hip_hop Género: West junior pista Género: Old School Song 3 pista Rap título Song 2 rastrear esto es utilizando el código Im pero su bucle todo mal...
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post();
$cam_brands = get_the_terms( $post->ID, 'sub_genre' );?>
<?php foreach( $cam_brands as $brand ) : ?>
<h3 class="genre-title"> <?php echo $brand->name; ?> </h3>

<?php $wpq = array( 'post_type' => 'track', 'taxonomy' => 'sub_genre', 'term' => $brand->slug, 'post_status' => 'publish','posts_per_page' => -1, 'caller_get_posts'=> 1 );
$brand_posts = new WP_Query ($wpq);?>
<ul>
<?php foreach( $brand_posts->posts as $post ) : ?>
<li> <?php echo $post->post_title; ?> <a class="sc-player" href="<?php echo get('soundcloud_link'); ?>">track</a> </li>
<?php endforeach ?>
</ul>
<?php endforeach ?>
<?php endwhile; ?>
<?php endif; ?>
Su parece estar pasando el foreach tantas veces como existen reales puestos en la taxonomía del género en lugar de la sub_genre.

ej.: Género: West prueba junior pista Género: Old School Song 3 pista Rap Título pista Song 2 Género: Old School Song 3 pista pista Rap Título pista Song 2 Género: Old School Song 3 pista Rap Título pista Song 2 pista alguna ayuda por favor por favor por favor se agradecería. Mis conocimientos de php no son las mejores y el bucle está haciendo mi cerebro duele un poco.

Gracias.


Solución

Lo que está haciendo tu
foreach
se anida dentro
while (have_posts()) : the_post();
. Mientras tanto, recorre cada uno de sus puestos (en el género 'hip_hop'). Así que para cada puesto en el género 'hip_hop', usted encontrar términos de taxonomía de los post para la taxonomía 'sub_genre' (este es el contenido de
$cam_brands
).

Entonces, para cada término asociado (en
$cam_brands
) Tienes todos los mensajes asociados a ese término (o
$brand
). Te final
foreach
recorre cada uno de estos puestos y los muestra.

Lo que creo que está tratando de hacer no soy consciente de cualquier manera nativa y directa WordPress puede 'dividir' todos los postes de un término de taxonomía particular en niños es. Pero el siguiente lo hará (aunque no en una forma particularmente eficaz).

Además, parece que 'sub_genre' es un separado taxonomía de 'género' ¿no es cierto? Si quieres una relación de los padres del niño, debe simplemente hacer 'género' una taxonomía jerárquica y crear sub géneros de la misma manera que se crea 'sub categorías'. Una vez que hayas hecho esto, lo siguiente debe trabajar con el debajo de salvedades.

$term = get_queried_object();

//Get all children of this term;
$children = get_terms( 'genre', 
    array(
        'parent'=>$term->term_id;
    ) ) ;

if($children):
    //We have an array of child (of current genre) terms. Loop through and display the posts
    foreach($children as $child):
        echo '<h2>'.$child->slug.'</h2>';

        // The Query - get all posts for this child-genre.
        $args = array('post_type' => 'track', 'taxonomy' => 'genre', 'term' => $child->slug, 'post_status' => 'publish','posts_per_page' => -1);
        $child_posts = new WP_Query ($args);

        // The Loop - display all posts for this child-genre.
        while ( $child_posts->have_posts() ) : $child_posts->the_post();
            echo '<li>';
                the_title();
            echo '</li>';
        endwhile;

        // Reset Post Data
        wp_reset_postdata();
    endforeach;
else:
    //On genre with no children - you may want to do something else.
    echo 'No sub-genre for this genre found';
endif;
ADVERTENCIAS este código no probado :D (pero debería funcionar) Se basa en sus géneros de género/sub todos siendo parte de una jerarquizada visitando un género sin hijos se mostrará el mensaje 'no Genero sub'.

Pistas que están asociadas con un término de género, pero ninguno de sus hijos no se mostrarán..




Problemas relacionados

Reescritura de URL del archivo de taxonomía personalizada

¿Cómo crear plantilla para taxonomía resultados limitados por costumbre Post tipo?

Taxonomía taxnonomy.php no funciona

CPT archivo Mostrar un post de página de cada término de taxonomía

Varias páginas de archivo para tipos de correos personalizados y taxonomías

¿Cómo mostrar varios tipos de correos en archivo de taxonomía?

Página de taxonomía personalizada redirigir 404

Usando página post tipo de archivo para el archivo de taxonomía

Archivo de campos personalizados.

Yo no necesito '' Página para ver mi taxonomía personalizada

¿Archivo de taxonomía con misma bala como tipo de correos personalizados?

Obtener posts por babosa término solamente

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact