Php 选择“不使用WP_查询中的值填充”
我试图在查询中使用来自CPT的值来填充Php 选择“不使用WP_查询中的值填充”,php,wordpress,custom-post-type,Php,Wordpress,Custom Post Type,我试图在查询中使用来自CPT的值来填充,CPT有数据,它显示在select中,但它是同一篇文章九次,而不是每篇文章显示一次,所以我有理由感到困惑。下面是我的提问和回答 <select id="wooaddresslist" name="wooaddresslist" class="form-control form-control-sm"> <option>Please select an option</option> <
,CPT有数据,它显示在select中,但它是同一篇文章九次,而不是每篇文章显示一次,所以我有理由感到困惑。下面是我的提问和回答
<select id="wooaddresslist" name="wooaddresslist" class="form-control form-control-sm">
<option>Please select an option</option>
<?php
$posts = array();
$args = array('post_type'=>'addressbook');
$query = New WP_query($args);
if($query->have_posts()):while($query->have_posts()):$query->the_post();
$temp = array();
$temp['id'] = get_the_id();
$temp['fname'] = get_field('fname');
$temp['lname'] = get_field('lname');
$temp['company'] = get_field('company');
$temp['addr1'] = get_field('address_line_1');
$temp['addr2'] = get_field('address_line_2');
$temp['city'] = get_field('city');
$temp['state'] = get_field('state');
$temp['zip'] = get_field('zip');
$posts = $temp;
$id = $posts['id'];
$fname = $posts['fname'];
$lname = $posts['lname'];
$company = $posts['company'];
$addr1 = $posts['addr1'];
$addr2 = $posts['addr2'];
$city = $posts['city'];
$state = $posts['state'];
$zip = $posts['zip'];
if(!empty($posts)){
foreach($posts as $post){?>
<option value="<?php echo $id;?>"><?php echo $fname;?></option>
<?php }
}
endwhile;endif;wp_reset_postdata();
?>
</select>
请选择一个选项
下面是一个简化版本的代码,它应该会让您走上正确的轨道。乍一看,我认为发生了一些事情:我怀疑您的临时数组只是在循环结束时被覆盖了,所以最终您只是得到了循环中最后一个条目的一堆副本。另外,为了避免混淆,我将您的自定义WP\u查询
重命名为$address\u book\u查询
<select id="wooaddresslist" name="wooaddresslist" class="form-control form-control-sm">
<option>Please select an option</option>
<?php
$args = ['post_type'=>'post'];
$address_book_query = New WP_query($args);
if($address_book_query->have_posts()) : while($address_book_query->have_posts()) : $address_book_query->the_post();
$address_book_entry = [];
$address_book_entry['id'] = get_the_id();
$address_book_entry['fname'] = get_field('fname');
$address_book_entry['lname'] = get_field('lname');
$address_book_entry['company'] = get_field('company');
$address_book_entry['addr1'] = get_field('address_line_1');
$address_book_entry['addr2'] = get_field('address_line_2');
$address_book_entry['city'] = get_field('city');
$address_book_entry['state'] = get_field('state');
$address_book_entry['zip'] = get_field('zip');
?>
<option value="<?php echo $address_book_entry['id'];?>"><?php echo $address_book_entry['fname'];?></option>
<?php
endwhile;
endif;
wp_reset_query();
?>
</select>
请选择一个选项
<select id="wooaddresslist" name="wooaddresslist" class="form-control form-control-sm">
<option>Please select an option</option>
<?php
$args = ['post_type'=>'post'];
$address_book_query = New WP_query($args);
if($address_book_query->have_posts()) : while($address_book_query->have_posts()) : $address_book_query->the_post();
$address_book_entry = [];
$address_book_entry['id'] = get_the_id();
$address_book_entry['fname'] = get_field('fname');
$address_book_entry['lname'] = get_field('lname');
$address_book_entry['company'] = get_field('company');
$address_book_entry['addr1'] = get_field('address_line_1');
$address_book_entry['addr2'] = get_field('address_line_2');
$address_book_entry['city'] = get_field('city');
$address_book_entry['state'] = get_field('state');
$address_book_entry['zip'] = get_field('zip');
?>
<option value="<?php echo $address_book_entry['id'];?>"><?php echo $address_book_entry['fname'];?></option>
<?php
endwhile;
endif;
wp_reset_query();
?>
</select>