在wordpress中的页面上显示多个类别的帖子

问题描述:

我想显示多个类别的帖子。我创建了一个MULTISELECT降使用下面的代码的所有类别的下降:在wordpress中的页面上显示多个类别的帖子

<form method="get" action="<?php bloginfo('home');?>" > 
    <select name="cat" multiple> 
    <option value=""><?php echo esc_attr(__('Please Select Your Choice')); ?></option> 
    <?php 
     $categories= get_categories('show_count=0&orderby=name&echo=0&hierarchical=true&depth=1&taxonomy=category&exclude=1'); 
     foreach ($categories as $category) { 

     $option = "<option value=$category->term_id>"; 
     $option .= ucfirst($category->cat_name); 
     $option .= '</option>'; 
     echo $option; 
     } 
    ?> 
    </select> 
<input type="submit" id="searchsubmit" value="Search" name="submit"/> 
</form> 

每当我选择多个类别,我可以看到所有的猫IDS像网址:http://abcd.com/?cat=7&cat=8&cat=9但它显示使用archieve只有最后一类的帖子。 PHP文件。我想在页面上显示所有选择的类别帖子。

在此先感谢。

+0

可以显示由wp_dropdown_categories类别()。为了使这个多选择使用这个jQuery'$(“。multiselect”)。attr('multiple','multiple');'看看它[这里](http://article-stack.com/how-why/ wordpress-multi-select-category-box.amty) –

<?php 
if(isset($_POST['submit'])) 
{ 
    $categories = $_POST['category']; 

    print_r($categories); 
} 
?> 
<form action="" method="post"> 
    <select name="category[]" size="5" multiple="multiple"> 
     <option value="1">Red</option> 
     <option value="2">Green</option> 
     <option value="3">Blue</option> 
     <option value="4">Yellow</option> 
     <option value="5">Orange</option> 
     <option value="6">Purple</option> 
     <option value="7">Megento</option> 
     <option value="8">Green</option> 
     <option value="9">White</option> 
     <option value="10">Black</option> 
    </select> 
    <input type="submit" name="submit" value="Submit" /> 
</form> 

注意使用在这里[] -

+0

您需要提供[]从表单的GET或POST结果中获取数组。像这样 -

+0

Thnaks it works well ... :) –

<?php 

$categoryids = array(3,6,8,19); 

$args = array(
'numberposts'  => 20, 
'category__in' => $categoryids, 
'orderby'   => 'post_date', 
'order'   => 'DESC', 
'post_type'  => 'photo', 
'post_status'  => 'publish'); 

$posts_array = get_posts($args); 

?> 



<!-- The carousel --> 
<div class="scrolimageview"> 
    <div class="prvdiv"><a href="javascript: void(0)" id="gallery-prev"><img src="<?php bloginfo('template_url'); ?>/images/prev.png" width="40"/></a></div> 
    <div id="gallery-wrap"> 
     <ul style="width: 2068px; left: -188px;" id="gallery"> 
      <?php foreach ($posts_array as $postd): ?> 
      <?php 
      $customd = get_post_custom($postd->ID); 
      $attached_photo_filed = $customd["attached_photo"][0]; 
      $attached_photod = str_replace($postd->ID . '_', $postd->ID . '_thumb_',$attached_photo_filed); 
      $imaged = $upload_dir['baseurl'] . '/photos/' . $attached_photod; 
      ?> 
      <li><a href="<?php get_bloginfo('url')?>/photo-details?id=<?php echo $postd->ID; ?>"><img src="<?php echo $imaged; ?>" alt=""></a></li> 
      <?php endforeach; ?> 
     </ul> 
    </div> 
    <div class="prvdiv1" style="float:right"><a href="javascript: void(0)" id="gallery-next"><img src="<?php bloginfo('template_url'); ?>/images/next.png"/></a></div> 
</div> 

此代码是从我的项目之一运行直播。所以它是100%的工作,请让我知道如果你陷入任何麻烦。

+0

感谢您的代码。此代码运行良好。但在我的情况下,数组中的类别ID不应该是静态的。我想通过动态ID到这个数组。我如何从网址获取多个猫ID?例如:http://abcd.com/?cat = 7&cat = 8&cat = 9 ..在这个网址中,我想获取cat id并显示一些与这些id有关的帖子。如果我使用$ _GET ['猫'],它提供给我最后一个猫ID。 –