Saturday, July 6, 2013

Wordpress custom search post and contents and by author name from wp_posts, wp_postmeta,wp_term_relationships tables

my custom wordpress search functinality you can help by my code please follow my code

-----------------------------------------------------------------------------------------------------------
 <form action="?page_id=155" method="POST" name="myForm" onSubmit="return validateForm()">
 
 
   <div class="search">

   <input type="submit" class="src-img" value="" name="sub">
        <input  value="Search Title And Author" onFocus="if(this.value=='Search Title And Author') this.value='';" onBlur="if(this.value=='') this.value='Search Title And Author';" name="search" id="search" type="text" class="src" />
<select name="authornamesearch"  class="select-src">
<option value="0">Select Author</option>
<option value="Bikash ranjan">Bikash ranjan</option>
<option value="Snatosh nayak">Snatosh nayak</option>
<option value="Himansu swain">Himansu swain</option>
<option value="Amara behera">Amara behera</option>

</select>
<input type="submit" class="src-btn" value="Search" name="subsearch">
   
      </div>
</form>
------------------------------------------Search Request handler page-------------------------------------------
  <?php
$search =trim($_REQUEST['search']);
$getAuthor=trim($_REQUEST['authornamesearch']);
$searchcln=trim(mysql_real_escape_string($search));
$getAuthorln=trim(mysql_real_escape_string($getAuthor));
$uarr = array();

if(($search!='Search Title And Author')or($getAuthor!=''))
{

if(($search!='Search Title And Author')&&($getAuthor!="0"))
{
$where ="wpmt.meta_key = 'author_name' AND wpmt.meta_value ='$getAuthorln' and (wp.post_title LIKE '%$searchcln%' or wp.post_content like '%$searchcln%')
AND wp.post_type = 'post' AND wtr.term_taxonomy_id != '1' AND wp.post_status <> 'trash'";

}
else if(($search=='Search Title And Author')&&($getAuthor!="0"))
{

$where ="wpmt.meta_key = 'author_name' AND wpmt.meta_value LIKE '%$getAuthorln%' AND wp.post_type = 'post' AND wtr.term_taxonomy_id != '1' AND wp.post_status <> 'trash'";
}
else{
  $where ="(wp.post_content like '%$searchcln%' AND wp.post_status ='publish' AND wp.post_type='post' and wtr.term_taxonomy_id != '1' AND wp.post_status <> 'trash')
            or (wp.post_title LIKE '%$searchcln%' AND wp.post_status ='publish' AND wp.post_type='post' and wtr.term_taxonomy_id != '1' AND wp.post_status <> 'trash')
or(wpmt.meta_key='author_name' AND wpmt.meta_value like '%$searchcln%' AND wp.post_type='post' and wtr.term_taxonomy_id != '1' AND wp.post_status <> 'trash')";
    }

$sql_query="SELECT distinct wp.* FROM
                           wp_posts wp
    INNER JOIN                 wp_term_relationships wtr
ON                         wtr.object_id = wp.ID
INNER JOIN                 wp_postmeta wpmt
ON                         wpmt.post_id = wp.ID
WHERE $where";
//echo $sql_query;
$rs = @mysql_query($sql_query);
$numberOfRows = @mysql_num_rows($rs);
if($numberOfRows>=1)
{
$p=0;
while($row = @mysql_fetch_array($rs))
{
$uarr[$p]['ID'] = $row['ID'];
//$uarr[$p]['post_content'] = $row['post_content'];
$uarr[$p]['post_title'] = $row['post_title'];
//$uarr[$p]['post_name'] = $row['post_name'];
//$uarr[$p]['guid'] = $row['guid'];
$p++;
}
}else
{
$message= "<h2 style='color:red;'>Not found&nbsp;".$search."&nbsp; in our book`s categories</h2>";
}


}


?>


No comments:

Post a Comment