Saya telah mengikuti Kode Wordpress, yang menghasilkan daftar properti.

    $args = array( 'posts_per_page' => 5, 'post_type'=> 'property');

    $myposts = get_posts( $args );

    foreach ( $myposts as $property_data ): 

        $meta = get_post_meta( $property_data->ID );

        $vdo_url = wp_get_attachment_url( $meta[fave_video_image][0] );
        $images =  wp_get_attachment_url( $meta[fave_property_images][0]);
        $city = wp_get_post_terms($property_data->ID, 'property_city');
        $type = wp_get_post_terms($property_data->ID, 'property_type');
        $status1 = wp_get_post_terms($property_data->ID, 'property_status');

        ?>
                <tr>
                    <td class="date">
                      <h5><input type="checkbox" class="propcheckbox" id="property" name="filedata[]" value="<?php echo $property_data->ID; ?>"> <?php echo $property_data->post_title; ?></h5>
                    </td>
                    <td class="hidden-xs hidden-sm">
                        <?php echo get_the_post_thumbnail( $property_data->ID ); ?>
                    </td>
                    <td>
                        <h5><?php echo $city[0]->name; ?></h5>
                    </td>
                    <td class="text-center">
                        <h5><?php echo $type[0]->name; ?></h5>
                    </td>
                    <td class="text-center">
                        <h5><?php echo $status1[0]->name ?></h5>
                    </td>
                    <td>
                        <h5><?php echo $property_data->post_date;  ?></h5>
                    </td>
                </tr>

    <?php endforeach; 

Saya ingin sekarang hanya menampilkan properti di mana property_status bukan "verkauft". Property_status ada di tabel wp_terms.

Apa yang perlu saya tambahkan/ubah?

0
Chris 14 Maret 2017, 14:09

2 jawaban

Jawaban Terbaik

Anda dapat melakukannya di tingkat kueri:

$args = array( 
 'posts_per_page' => 5, 
 'post_type'=> 'property',
 'tax_query' => array(
    array(
        'taxonomy' => 'property_status',
        'field'    => 'slug',
        'terms'    => array( 'verkauft' ),
        'operator' => 'NOT IN'
    ),
  ),
);

$myposts = get_posts( $args );
...

Ini akan memberi Anda semua properti yang tidak memiliki status itu. Anda dapat mengujinya dan melihat apakah itu benar.

Baca lebih lanjut tentang kueri taksonomi di sini: https://codex.wordpress.org/Class_Reference/WP_Query# Taksonomi_Parameters

1
ibenic 14 Maret 2017, 11:43

Opsi paling sederhana adalah memfilter di php dan melewatkan output jika kondisinya terpenuhi:

foreach ( $myposts as $property_data ): 
    //get the status 1st
    $status1 = wp_get_post_terms($property_data->ID, 'property_status');
    //if the status matches, skip the rest of this loop iteration
    if($status1=='verkauft') continue;

    $meta = get_post_meta( $property_data->ID );

    //the rest of your code
0
Steve 14 Maret 2017, 11:16