2013-07-16 89 views
0

我有一个非常简单的代码,列出所有的自定义帖子类型,让我们的用户从他们使用“每个循环”选择
问题是当给出选定的值时,它是重复的,因为它是已经存在,因为每个循环列表中它也有..
所以我不知道如何排除用户从下拉菜单中选择的项目任何方式希望得到一些帮助,在此先感谢这里是代码..wordpress逻辑帮助(下拉)选择项

<?php // select funeral home ad's plugin 
$mypostype = get_posts('post_type=funeral_homes'); 
if($mypostype) : ?> 

      <?php 
      $funeral_home_meta = get_post_meta($curpost->ID, '_selected_funeral_homes', true); 
//echo $funeral_home_meta ; 
$the_post_value = $curpost ->ID ; 
//echo $the_post_value ; 

$adhome_id = $funeral_home_meta; 
$queried_post = get_post($adhome_id); 
$ad_title = $queried_post->post_title; 

?>  

<label for="my_select">Funeral home ad ? </label> 
<select id="my_select" name="my_select"> 
<?php foreach ($mypostype as $mypost ) : ?> 
<option value="<?php echo $mypost->ID ; ?>"><?php echo $mypost->post_title ?></option> 
<?php endforeach; ?> 
    <option value="<?php echo $funeral_home_meta ?>" selected><?php echo $ad_title 
//the proplem lays here ?></option> 
</select> 
</form> 
<?php endif ?> 

至于设置选定的值我不得不再次提到它,它的重复是否有任何替代? ..再次感谢.. basem

+0

尝试:'get_posts(“post_type = funeral_homes&排除=” get_the_ID())' – elclanrs

+0

您的快速回复上代码工作完美,但正如你看到的问题谢谢先生是,当我加入<期权价值= “<?php echo $ funeral_home_meta?>”selected><?php echo $ ad_title ?>所选项目的另一个副本显示..所以它显示两个循环和一个选定的项目..谢谢 –

回答

0

更改您的foreach循环如下。

<?php foreach ($mypostype as $mypost ) : 
if($mypost->ID==get_the_ID()) // check the it is current post 
    continue; 
?> 
<option value="<?php echo $mypost->ID ; ?>"><?php echo $mypost->post_title ?></option> 
<?php endforeach; ?> 
+0

谢谢一百万先生工作像魅力,但不得不改变验证规则($ mypost-> ID == $ funeral_home_meta)..再次感谢先生..基地 –