it-swarm.com.de

Separate Beiträge und benutzerdefinierter Beitragstyp in Archivvorlage für benutzerdefinierte Taxonomie

Ich habe sowohl einen benutzerdefinierten Beitragstyp (Match) als auch eine benutzerdefinierte Taxonomie (Team) erstellt und die Team-Taxonomie für normale Beiträge (Nachrichten für dieses Team) und den benutzerdefinierten Beitragstyp Match verfügbar gemacht.

Auf der Archivvorlagen-Seite, die ich taxonomy-team.php erstellt habe, werden die Posts jedoch nicht in einen News-Abschnitt und einen Match-Abschnitt unterteilt.

Ich habe verschiedene Lösungen ausprobiert, aber beide zeigen derzeit den gleichen Inhalt - alle Beiträge und alle Spiele für das Team.

Ich habe den zweiten Abschnitt "Übereinstimmungen" wiederhergestellt, um die zwei Möglichkeiten zu zeigen, die ich aus dem Lesen von Antworten hier und auf verschiedenen Lernseiten versucht habe.

<?php
/**
 * The template for displaying Archive pages.
 *
 * Learn more: http://codex.wordpress.org/Template_Hierarchy
 *
 * @package aThemes
 */

get_header(); ?>

    <section id="primary" class="content-area">
        <div id="content" class="site-content" role="main">

<?php
    // This sets out a variable called $term - we'll use it ALOT for what we're about to do.
     $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); ?>

<!-- See how we used the variable to let Wordpress know we want to display the title of the taxonomy? -->
    <div id="matchheader"><?php echo $term->name; ?></div>

<!-- Using the same variable, we can use it to display the posts that the artist has been tagged in -->
    <h2><?php echo $term->name; ?> News</h2>
    <ul class="newslist">
<?php $args = array(
    'post_type'                => 'match',
    'child_of'                 => 0,
    'parent'                   => '',
    'orderby'                  => 'name',
    'order'                    => 'ASC',
    'hide_empty'               => 1,
    'hierarchical'             => 1,
    'exclude'                  => '',
    'include'                  => '',
    'number'                   => '',
    'taxonomy'                 => 'team',
    'pad_counts'               => false 

    ); 
$categories = get_categories( $args );
foreach ( $categories as $cat ) {

$posts_array = get_posts(
    array(
        'posts_per_page' => -1,
        'post_type' => 'match',
        'tax_query' => array(
            array(
                'taxonomy' => 'team',
                'field' => 'term_id',
                'terms' => $cat->term_id,
            )
        )
    )
); }
?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> -  <?php the_time('d M Y'); ?></li>
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
    </ul>

    <h2><?php echo $term->name; ?> Matches</h2>
    <ul class="matchlist">
    <?php while (have_posts()) : the_post(); ?>       
                <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> -  <?php the_time('d M Y'); ?></li>
    <?php endwhile; ?>
    </ul>

            </div><!-- #content -->
    </section><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>    

Wie kann ich die Archivseiten trennen, damit die Nachrichten und Spiele für jedes Team separat angezeigt werden?

2
Ronan

Aus dem Speicher heraus sollte dies für Posts funktionieren

<?php $query1 = new WP_Query( array( "post_type" => "post", "tag" =>
$term->slug) ); ?>

Die erste Abfrage gibt nur Posts zurück, die mit [TEAMNAME] markiert wurden (soweit ich mich erinnern kann, können benutzerdefinierte Taxonomien als Tags in einem Post angezeigt werden). Dies sollte für Teams funktionieren

<?php $query2 = new WP_Query( array( "post_type" => "match", "team" => $term->slug) ); ?>

Die zweite Abfrage gibt nur Übereinstimmungen mit der benutzerdefinierten Taxonomie von [TEAMNAME] zurück.

2
Howli