it-swarm.com.de

Zeige die letzten x Posts aus allen Kategorien in Benutzerdefinierter Post-Typ/Taxonomie

Ich versuche, die neuesten x Posts aus allen Kategorien mithilfe einer benutzerdefinierten Taxonomie namens "Fallstudien" in WordPress anzuzeigen.

Ich habe es geschafft, alle Kategorienamen als Überschriften-Links auszugeben. Ich habe auch einige Posts aus der Standard-Posts-Taxonomie ausgegeben, die in den richtigen Kategorien enthalten sind, aber ich bekomme keine Informationen aus meiner 'Fallstudien'-Taxonomie. Wenn ich 'post_type' => 'case-studies' zu $post_args hinzufügen, werden keine Ergebnisse angezeigt.

if (have_posts()) :

    $tax = 'case-studies';

    $cat_args = array(
        'orderby' => 'name',
        'order' => 'ASC'
    );

    $categories = get_terms($tax, $cat_args);

    foreach($categories as $category) {

        echo '<p><a href="' . get_term_link( $category, $tax ) . '" title="' 
            . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' 
            . '>' . $category->name.'</a></p>';

        $post_args = array(
            'posts_per_page' => 10,
            'category_name' => $category->name
        );

        $posts = get_posts($post_args);

        foreach($posts as $post) { ?>
            <a href="<?php echo get_the_permalink(); ?>"><?php echo get_the_title(); ?></a><br/>
        <?php }

        echo '<p><a href="' . get_term_link( $category, $tax ) . '" title="' 
            . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' 
            . '>View all posts in ' . $category->name.'</a></p>';
    }

endif;
1
bigdaveygeorge

Die Kategorieparameter funktionieren nicht mit benutzerdefinierten Taxonomien. Sie müssen stattdessen einen tax_query verwenden.

Ersetzen Sie in Ihrem aktuellen Code (, was auf jeden Fall auch falsch verwendet wird, category_name nimmt den Slug , nicht name )

'category_name' => $category->name

mit

'post_type' => 'case-studies',
'tax_query' => array(
    array(
        'taxonomy' => $tax
        'terms' => $category->term_id,
        'include_children' => false
    )
),
0
Pieter Goosen

Dieser Code zeigt alle Posts aller Kategorien von Standorttaxonomien für benutzerdefinierte Posts vom Typ Testaismgallery .

 $args = array(
        'number'     => $number,
        'hide_empty' => $hide_empty,
        'include'    => $ids
    );

    $custom_categories = get_terms( 'location', $args );

    foreach ( $custom_categories as $catterm){

        $arg = Array( 
        'post_type' => 'testaismgallery',
        'posts_per_page' => '-1',
        'post_status' => 'publish',
        'tax_query' => Array( Array ( 
        'taxonomy' => 'location' ,
        'terms' => $catterm->term_id
        )) );


    $loop = new WP_Query( $arg ); 
    global $post;

    ?>    

    <?php    
    while ( $loop->have_posts() ) : $loop->the_post();
    ?>
      <div class="gallery-content">
    <div class="entry-content">


    <?php 
    $post_id = get_the_ID();
    $abc = get_post_meta($post_id, event_file, true);
     echo "<li><img src='".$abc. "' ></li> "; 

     ?>  

        </div>
    </div>
     <?php endwhile;

    }   

    ?>
0
KD DEVELOPER