如何将wordpress postmeta表中的值放入foreach循环
我试图将posteta键中的所有值放入foreach循环 我尝试过获取帖子meta和获取帖子自定义,但这些似乎只在帖子Id的基础上起作用 还尝试获取\u post\u custom\u值,但这似乎只返回当前post 我只需要某个meta_键的所有值。我正在尝试用值填充表单下拉列表 任何想法 这就是我现在拥有的 }如何将wordpress postmeta表中的值放入foreach循环,wordpress,Wordpress,我试图将posteta键中的所有值放入foreach循环 我尝试过获取帖子meta和获取帖子自定义,但这些似乎只在帖子Id的基础上起作用 还尝试获取\u post\u custom\u值,但这似乎只返回当前post 我只需要某个meta_键的所有值。我正在尝试用值填充表单下拉列表 任何想法 这就是我现在拥有的 } ?> 选择一个位置 值=”“> 我很确定您需要一个定制的MySQL查询 以下是一些应该有效的方法: global $wpdb; $results = $wpdb->get_
?>
选择一个位置
值=”“>
我很确定您需要一个定制的MySQL查询
以下是一些应该有效的方法:
global $wpdb;
$results = $wpdb->get_results( "SELECT $wpdb->postmeta.meta_value FROM $wpdb->postmeta WHERE 1=1 AND $wpdb->postmeta.meta_key = 'geo_short_address'" );
$options = array();
foreach ($results as $result) {
$options[$result->meta_value] = ucwords( $result->meta_value );
}
echo '<select class="field" name="country">';
foreach ($options as $key => $value) {
echo "<option value='$key'" . ( $_GET['country'] == $value ? " selected='selected'" : "" ) . ">$value</option>";
}
'</select>';
global$wpdb;
$results=$wpdb->get_results(“从$wpdb->postemta中选择$wpdb->postemta.meta_值,其中1=1和$wpdb->postemta.meta_键='geo_short_address'”);
$options=array();
foreach($results作为$result){
$options[$result->meta_value]=ucwords($result->meta_value);
}
回声';
foreach($key=>$value的选项){
回显“$value”;
}
'';
只需将'custom_key'
替换为您的自定义字段名,这将为您提供该自定义字段的所有值
我现在无法测试代码,因此如果代码不起作用,请随时告诉我。非常感谢您的帮助-我编辑了我的问题以反映您的答案-它无法填充。您能指出我可能出错的地方吗。。。?thanksI在我的代码中有一个小错误,但我认为这不是原因。任何方式将ucwords($meta\u值)
更改为ucwords($result->meta\u值)
。然后在关闭foreach($results as$result)
循环的}
之后执行var\u dump($results$options)
并添加该循环。我不确定查询是否没有得到结果,或者是其他原因。添加了这个foreach($results as$result){$options[$result->meta_value]=ucwords($result->meta_value);}echo var_dump($results,$options),但没有返回任何内容?结果和选项为Null..很抱歉var_dump数组为空
?>
</select>
<select name="country" id="country">
<option value="selected">Select a location</option>
<?php
foreach ($options as $key => $value) {
?>
<?php $retaincount = $value ?>
<option <?php if ($_GET['country'] == $retaincount ) { ?
>selected="<?php echo $value; ?>" <?php }; ?>value="<?php echo $value ?>">
<? php echo $value?></option>
<?php
}
?>
</select>
<p>
<input type="submit" value="<?php _e('Filter', 'appthemes'); ?>"
class="submit" />
<input type="hidden" name="action" value="Filter" />
</p>
<div class="clear"></div>
</form>
<?php endif;
}
Thanks
global $wpdb;
$results = $wpdb->get_results( "SELECT $wpdb->postmeta.meta_value FROM $wpdb->postmeta WHERE 1=1 AND $wpdb->postmeta.meta_key = 'geo_short_address'" );
$options = array();
foreach ($results as $result) {
$options[$result->meta_value] = ucwords( $result->meta_value );
}
echo '<select class="field" name="country">';
foreach ($options as $key => $value) {
echo "<option value='$key'" . ( $_GET['country'] == $value ? " selected='selected'" : "" ) . ">$value</option>";
}
'</select>';