0
我在一個網站上工作並構建一個自定義的帖子類型。在此自定義帖子類型中,我添加了一個元字段,您可以從1到16中選擇一個數字。這些數字與我主頁上的特定位置相對應。但現在我的問題出現了。我如何在這些特定職位中查詢這些職位而不必重複自己。基於元值的wordpress查詢
因此,例如...
這裏與meta值1 這裏與meta值2 這裏meta值後後後3等..
希望有人可以幫助我一點點
我在一個網站上工作並構建一個自定義的帖子類型。在此自定義帖子類型中,我添加了一個元字段,您可以從1到16中選擇一個數字。這些數字與我主頁上的特定位置相對應。但現在我的問題出現了。我如何在這些特定職位中查詢這些職位而不必重複自己。基於元值的wordpress查詢
因此,例如...
這裏與meta值1 這裏與meta值2 這裏meta值後後後3等..
希望有人可以幫助我一點點
有幾種方法可以解決這個問題,這取決於佈局邏輯的複雜程度。如果你基本上只是通過以16個職位需要循環,則可以使用orderby
參數在查詢到的帖子進行排序:
$args = array(
'post-type' => 'YOUR_POST_TYPE',
'orderby' => 'meta_value_num',
'meta_key' => 'YOUR_METAFIELD_SLUG'
);
$customposts = new WP_Query($args);
while($customposts->have_posts()): $customposts->the_post();
// loop goes here
如果你需要更復雜的東西,你也許能避免重複查詢通過查詢一次,然後使用條件來檢查元值。例如,用上面的例子查詢...
// Position 1 on your page
<div class="position-1">
<?php
while($customposts->have_posts()): $customposts->the_post();
$meta_value = get_post_meta(get_the_ID(), 'YOUR_METAFIELD_SLUG', true);
// Only print something here if the meta value is what we want
if($meta_value == 1) :
the_title();
the_content();
endif;
// Reset the loop
$customposts->rewind_posts(); ?>
</div>
// Position 2 on your page
<div class="position-2">
<?php
while($customposts->have_posts()): $customposts->the_post();
$meta_value = get_post_meta(get_the_ID(), 'YOUR_METAFIELD_SLUG', true);
if($meta_value == 2) :
the_title();
the_content();
endif;
// Reset the loop again
$customposts->rewind_posts(); ?>
....等等。
您可能會發現這些有用的:
感謝這個快速的解答。我一定會使用你的第二個例子,並使用標題和內容的模板部分來幹一點幹。再次感謝 – Toasty 2015-01-21 07:53:08
後置類型應該是post_type。還是謝謝 – Toasty 2015-01-21 08:11:56