如何使查询使用确切的帖子标题

时间:2014-11-08 21:05:58

标签: php mysql wordpress search

我在wordpress中创建自定义搜索查询,且帖子标题不匹配。我希望它说明字幕和全名必须是完全匹配,否则结果不应该出现。我的Post_titles都是5位数字。但截至目前,我可以键入正确的全名,但使用任何与帖子标题不匹配的数字,它仍会显示。两者都需要完全匹配。关于该做什么的任何建议?

 <?php 
           /* Search Results */ 
 $patientid = '48392'; //Example only but must match exactly AND fullname should match exact too
 $fullname = 'John Doe'; //Example only. Exact match IS working on this but not AND

 $args = array('posts_per_page' => 2, 'post_type' => 'patients', 'post_title' => $patientid,
 'meta_query' => array(
  array(
    'key'     => 'fullname',
    'value'   => $fullname,
    'compare' => '=',
     ),
 ),);

  query_posts($args);
 ?>

1 个答案:

答案 0 :(得分:2)

使用get_page_by_title,它允许您按标题,ID或帖子对象进行查询。 query_posts没有将帖子标题作为参数而不推荐使用(如果您想进行自定义查询,请使用WP_Query)。

$patient = get_page_by_title($patientid, 'OBJECT', 'patients'); // get the post object by title and cpt

if($patient) {
    $patient_fullname = get_post_meta($patient->ID, 'fullname', true); // get the post meta
    if($patient_fullname == $fullname) {
        // here both conditions are true.
    }
}