0

現在、すべての投稿をループして、次のような post_meta 値を表示しています。

global $wpdb;
$table =  $wpdb->prefix . 'postmeta';
$theid = get_the_id();
$getLowestPrice = $wpdb->get_results("SELECT * FROM $table WHERE meta_value = '$theid'");
foreach ( $getLowestPrice as $post ){

get_post_meta( $post->post_id, '_wholesale_price', false );

}

結果を最低 - >最高に並べ替える方法はありますか? 現時点では、ランダムに表示されるか、入力されたとおりに表示されます。

4

2 に答える 2

0

次のコードを使用します

<?php 
 global $wpdb;
 $table =  $wpdb->prefix . 'postmeta';
 $theid = get_the_id();
 $getLowestPrice = $wpdb->get_results("SELECT * FROM $table WHERE meta_value = '$theid'");
$all_post = array();
foreach ( $getLowestPrice as $post ){
   $all_post[] = $post->post_id; 

}
$query = new WP_Query( array( 'post__in' => $all_post, 'orderby' => 'meta_value', 'meta_key' => '_wholesale_price','order' => 'ASC') );

// The Loop
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
    $query->the_post();
    echo '<div>' . get_post_meta( $get_the_ID(), '_wholesale_price', false );() . '</div>';
}
 } else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>`
于 2013-08-05T15:01:20.200 に答える