我在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);
?>
答案 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.
}
}