Wie zeige ich alle Beiträge an, die der gleichen Kategorie zugeordnet sind?

Lesezeit: 3 Minuten

Ich habe eine Produktkategorie namens Kabel und möchte alle dieser Kategorie zugeordneten Beiträge erfassen und den Titel dieser Beiträge ausgeben. Diese Kategorie stammt aus der benutzerdefinierten Taxonomie „Kategorie“, die Woo-Commerce hinzufügt. Ich bin mir nicht sicher, ob das die Sache schwieriger macht? aber eine lösung habe ich noch nicht gefunden.

Könnte jemand dabei helfen?

Geben Sie hier die Bildbeschreibung ein

Benutzeravatar von Krunal Bhimajiyani
Krunal Bhimajiyani

Versuchen Sie diesen Code:

Und nach Ihren Wünschen modifizieren:

add_shortcode( 'specific_category_posts', 'kb_get_posts' );
function kb_get_posts() {

    $query = new WP_Query(
    array(
        'post_type'      => 'product',
        'post_status'    => 'publish',
        'posts_per_page' => -1,
        'tax_query'      => array(
            array(
                'taxonomy' => 'product_cat',
                'field'    => 'term_id',
                'terms'    => array( '18' ), //Your custom category id
            ),
        ),
    )
);

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        echo '<h2>' . get_the_title() . '</h2>';
    }
}
wp_reset_postdata();
}

  • Gäbe es für ‘product_cat’ eine Möglichkeit, stattdessen die ID zu verwenden? Ich möchte die ID der aktuellen Seite verwenden, anstatt den Namen nach Möglichkeit einzugeben

    – matt.mcg

    16. November um 11:07 Uhr

Verwenden Sie diesen Code, um alle der Kategorie zugeordneten Beiträge anzuzeigen Kabel

<?php
    global $post;
    $args = array( 'numberposts' => 10, 'category_name' => 'cable' );
    $posts = get_posts( $args );
    foreach( $posts as $post ): setup_postdata($post); 
?>

<div> 
    <?php 
    the_title(); 
    the_excerpt(); ?>
</div>

<?php endforeach; ?>

  • Gibt es statt ‘category_name’ eine Möglichkeit, stattdessen die Cat-ID der aktuellen Seite zu verwenden? Ich möchte die ID der aktuellen Seite verwenden, anstatt den Namen nach Möglichkeit einzugeben

    – matt.mcg

    16. November um 11:08 Uhr

Ich habe mit Liste erstellt

add_shortcode( 'pi_cable_posts', 'pi_posts' );
function pi_posts() {
$pi_query = new WP_Query(
array(
    'post_type'      => 'product',
    'post_status'    => 'publish',
    'posts_per_page' => -1, //--1 for unlimited and number to limit
    'tax_query'      => array(
        array(
            'taxonomy' => 'product_cat',
            'field'    => 'term_id',
            'terms'    => array( 'YOUR ID HERE' ), //ADD YOUR ID HERE
        ),
    ),
));

if ( $pi_query ->have_posts() ) {
echo '<ul>';
while ( $pi_query ->have_posts() ) {
    $pi_query ->the_post();
    echo '<li><h2><a href="'.get_the_permalink().'">' . get_the_title() . '</h2></li>';
}
echo '</ul>';
}
wp_reset_postdata();}

Benutzeravatar von zillionera_dev
zillionera_dev

Sie können verwenden WP_Query() mit tax_query().

BEARBEITEN:

Probieren Sie diesen Code aus, um Produkte auf der Kategorieseite zu erhalten.

add_shortcode('product_list', 'zillion_show_products_title_by_cat', 10);
function zillion_show_products_title_by_cat()
{
    if(!is_product_category()){
        return;
    }
    $term = get_queried_object();
    
    ob_start();
    $args = array(
        'post_type' => 'product',
        'post_status' => 'publish',
        'tax_query' => array(
             'taxonomy' => 'product_cat',
             'field'    => 'term_id',
             'terms'     =>  $term->term_id, // 21 is category id When you have more term_id's seperate them by comma.
             'operator'  => 'IN'
        )
    );
    $the_query = new WP_Query($args);

    // The Loop
    if ($the_query->have_posts()) {
        while ($the_query->have_posts()) {
            $the_query->the_post();
            echo '<h3>' . get_the_title() . '</h3>';
        }
    } else {
        // no posts found
    }
    /* Restore original Post Data */
    wp_reset_postdata();

    $contents = ob_get_clean();
    return $contents;
}

1435030cookie-checkWie zeige ich alle Beiträge an, die der gleichen Kategorie zugeordnet sind?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy