에서
덕분에 당신은 당신의 결과를 얻기 위해 두 테이블을 조인 할 수있는 사용자 지정 SQL 쿼리를 구축해야합니다.
global $wpdb;
$sql = "SELECT * FROM ".$wpdb->prefix."wp_posts, ".$wpdb->prefix."ratings_table WHERE wp_post.id = ratings_table.post_id";
$posts = $wpdb->get_results($sql);
echo "<ul>";
foreach ($posts as $post){
echo '<li>'.$post->title.'|'.$post->score.'<br/>';
echo '</li>';
}
echo "</ul>";
테스트하지 않았습니다.
표 & 열 이름을 조정해야합니다.
[업데이트] = 평가 & meta_key는 = ORDERBY = meta_value & meta_key =에 foo는 이
평가 get_posts()을 당신이 당신의 ORDERBY을 변경해야 사용이 확인
은 아래 참조 :
$args = array(
'numberposts' => 10,
'offset' => 0,
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_key' => 'rating',
'post_type' => 'post',
'post_status' => 'publish'
);
$results = get_posts($args);
감사에 대한 너의 답 ! 이미이 방법을 사용하여 목록을 실행하는 데 성공했습니다. 그러나 그 것은 wordpress 것들에 그 orderby 옵션을 추가하고 싶습니다. 그래서'get_posts ('post_type = type & num_posts = 10 & orderby = rating & meta_key = foo [...]')'와 함께 사용할 수 있습니다. 왜냐하면 나는 다른 매개 변수 (분류학, 검색, 저자 등 ...)로 결과를 필터링하는 데 사용하고 싶기 때문에 ... – Charleshaa
내 대답을 – Marty
업데이트했습니다. 원하는 값은 wp_postmeta 테이블에 없습니다. , 그것은 자신의 테이블에 있습니다 ... 그래서이 방법을 사용할 수없는 이유입니다 ... 'meta_key = foo'는 예제 처럼요. 왜냐하면 제가 요청한 많은 매개 변수를 가지고 있다는 것을 보여주고 싶었 기 때문입니다. 그것을 무시하십시오 ... – Charleshaa