首先,您應該爲這些複雜查詢使用WordPress查詢對象。這會給你更多的參數。
所以,你可以這樣做:
// Let's prepare our query:
$args = array(
'post_type' => 'page',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'basePrice',
'compare' => 'EXISTS'
),
)
);
$the_query = new WP_Query($args);
// Array to save our matchs:
$pages = array();
// The Loop
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
// Let's take what we need, here the whole object but you can pick only what you need:
$pages[] = $the_query->the_post();
}
// Reset our postdata:
wp_reset_postdata();
}
這應該只是罰款。
使用get_pages()
的另一種方式是獲取所有頁面 - >循環它們 - >創建一個get_post_meta()if語句。如果有值,則將當前頁面添加到您的陣列。但是,正如你可以想象的,你必須加載所有頁面,而你不應該。
希望有幫助,