2011-12-16 12 views
2

私は複数のカテゴリのテキストを検索したいとワードプレスで検索しています。これは私がアレイ内のすべてのcategoryidsを取り、以下のコードを参照してくださいURLを作成catsearch.phpファイルの投稿を性能指標時に、ここに私のコード複数のカテゴリに基づいて投稿を検索するワードプレス

<form method="post" action="<?php bloginfo('home');?>/?ptype=catsearch" > 
    <input type="text" name="searchtext" size="40" /> 
     <h2><?php _e('Categories:'); ?></h2> 
     <select name="category[]" multiple='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> 

です。複数のカテゴリを選択すると、http://abcd.com/?cat=3&cat=7&cat=8&s=dasdasDSのようなURLが作成されます。この場合、最後のcat idのテキストのみを検索します。私はそれがcatidsを圧倒すると思う。検索テキストがどのカテゴリにあっても、すべての投稿を表示する必要があります。

この

cat=3&cat=7&cat=8 

ような何かをやっているときは常に$ _GET [ '猫']の値を再定義している

$categoryids = $_POST['category']; 

      echo 'count is ---' .count($categoryids); 

      if($categoryids) 
      { 
       foreach($categoryids as $categoryid) 
       { 
        $cat.= 'cat='.$categoryid.'&'; 
       } 
       echo $cat = trim($cat, '&'); 
       echo '<br />'; 
       $url .= '?'.$cat; 

      } 
if($_POST['searchtext']) 
      { 
       echo 'searchtext---'. $_POST['searchtext']; 
       echo '<br />'; 
       $url .= '&s='.$_POST['searchtext']; 
      } 
<META http-equiv="refresh" content="1;URL=<?php echo get_bloginfo('url')."$url"; ?>"> 

答えて

2

。だから、それは最後の1になってしまうだろうと完璧な理にかなって - ワードプレスに複数のカテゴリを照会するための8

構文カンマを使用している

あなたの応答のための
cat=3,7,8 
+0

感謝を。この質問を投稿した後、私はこのようになった。 –

+0

私にも一歩譲ってください。適切な検索結果を得るには、最初にページにフォームを投稿し、URLを作成し、 "" (コードがわかるように)これは良い方法ですか、これを行うには他の良い方法がありますか? –

関連する問題