[英]Get all custom post meta values from all posts in select dropdown to use as a filter - Wordpress
在我的 wordpress 博客頁面中,我正在嘗試為博客創建過濾器。 我有一個自定義帖子元鍵part_number
,現在我想在選擇下拉列表中為part_number
創建過濾器,我正在從所有帖子中獲取所有元值,如下所示:
<select name="filter_year">
<option value="">Select part number</option>
<?php
if ( $query->have_posts() ) {
while($query->have_posts()) {
global $post;
$part_number = get_post_meta($post->ID, 'part_number', true);
echo '<option value="'.$part_number.'">'.$part_number.'</option>';
}
}
?>
</select>
但是使用此代碼,我的頁面永遠不會停止加載,就像加載加載和仍在加載並卡住一樣..可能是因為它是博客頁面中的第二個查詢。 我已經搜索了很多關於從所有帖子中獲取所有元值的另一種方法,但沒有找到任何解決方案。 我在這里提出問題。 請幫助我完成這項任務。 我被卡住了
您可以使用get_posts()
來檢索所有帖子及其元數據。
<?php
$all_posts = get_posts( array(
'numberposts' => -1
) );
$part_numbers = array();
foreach ( $all_posts as $p ) {
$part_number = get_post_meta( $p->ID, 'part_number', true );
$part_numbers[] = $part_number;
}
$part_numbers = array_unique( $part_numbers );
?>
<select name="filter_year">
<option hidden disabled selected value="">Select part number</option>
<?php foreach ( $part_numbers as $pn ) {
echo '<option value="'.$part_number.'">'.$part_number.'</option>';
} ?>
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.