it-swarm.com.de

So zeigen Sie verwandte Beiträge nach Kategorie an

In meiner Galerie-Site möchte ich andere Bilder unter dem aktuellen Bild anzeigen (in einem einzelnen Beitrag). Ich habe mehr Codes gesehen, aber ich frage nach der Angabe der Kategorie, aber ich möchte nicht, dass die Kategorie manuell im Code angegeben wird. Ich möchte, dass der Code selbst die Kategorie-ID oder den Namen erhält. Es wäre viel einfacher für mich, wenn ich vollständige Beiträge erhalte anstelle von post title, damit ich es als in home und kategorie anzeigen kann

4
Felix

Die Frage wurde bereits gestellt und die Antwort wurde auch gepostet.

Wie verwandte Beiträge aus der gleichen Kategorie anzeigen?

Füge diesen Code in deine single.php nach einer Schleife ein, wo immer du verwandten Beitrag zeigen willst.

<?php

$related = get_posts( array( 'category__in' => wp_get_post_categories($post->ID), 'numberposts' => 5, 'post__not_in' => array($post->ID) ) );
if( $related ) foreach( $related as $post ) {
setup_postdata($post); ?>
 <ul> 
        <li>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
            <?php the_content('Read the rest of this entry &raquo;'); ?>
        </li>
    </ul>   
<?php }
wp_reset_postdata(); ?>

Es werden verwandte Posts aus derselben Kategorie mit dem Post-Auszug und dem Titel angezeigt. Wenn dieser Code jedoch nur den Titel des verwandten Posts anzeigen soll, entfernen Sie diese Zeile.

<?php the_content('Read the rest of this entry &raquo;'); ?>
13
Sufiyan Ghori

Hier noch eine saubere und sehr flexible Möglichkeit:

Fügen Sie diesen Code in Ihre functions.php-Datei ein

function example_cats_related_post() {

    $post_id = get_the_ID();
    $cat_ids = array();
    $categories = get_the_category( $post_id );

    if(!empty($categories) && is_wp_error($categories)):
        foreach ($categories as $category):
            array_Push($cat_ids, $category->term_id);
        endforeach;
    endif;

    $current_post_type = get_post_type($post_id);
    $query_args = array( 

        'category__in'   => $cat_ids,
        'post_type'      => $current_post_type,
        'post_not_in'    => array($post_id),
        'posts_per_page'  => '3'


     );

    $related_cats_post = new WP_Query( $query_args );

    if($related_cats_post->have_posts()):
         while($related_cats_post->have_posts()): $related_cats_post->the_post(); ?>
            <ul>
                <li>
                    <a href="<?php the_permalink(); ?>">
                        <?php the_title(); ?>
                    </a>
                    <?php the_content(); ?>
                </li>
            </ul>
        <?php endwhile;

        // Restore original Post Data
        wp_reset_postdata();
     endif;

}

Jetzt können Sie die Funktion einfach überall auf Ihrer Site aufrufen:

<?php example_cats_related_post() ?>

Möglicherweise möchten Sie die Listenelemente entfernen oder entsprechend Ihren Anforderungen formatieren.

1
Lawrence Oputa