以下代码用于搜索帖子标题和帖子内容。此外,在安装了插件“ACF:Better Search”后,该帖子还从ACF字段进行搜索,并在Search result div元素上给出搜索结果。
但现在我还想用作者姓名和其他自定义添加的作者元值搜索帖子。
【WordPress 4.9.2】
尝试了“WP Extended Search-WordPress插件”插件,但没有成功。
//用于搜索自定义帖子类型的ajax挂钩
add_action( \'wp_ajax_search_cposttype\', \'searchCposttypeByTerm\' );
add_action( \'wp_ajax_nopriv_search_cposttype\', \'searchCposttypeByTerm\' );
function searchCposttypeByTerm() {
//$authors=get_users();
$wp_query = new WP_Query(array(
\'post_type\'=>\'cposttype\',
\'post_status\'=>\'publish\',
\'s\' => $_GET[\'searchTerm\']));
while ($wp_query->have_posts()) : $wp_query->the_post();
get_template_part(\'template-parts/cposttype/cposttype-post\');
echo \'<pre>\';
//print_r($wp_query);
echo \'</pre>\';
endwhile;
wp_die();
}
请你帮帮我好吗。不使用插件会更好。
谢谢
SO网友:Greg Much
您可以从使用MySQL准备所需信息开始
SELECT * FROM `wp_usermeta` WHERE `meta_key` = "description"
例如,您可以使用定制查询的准备输出创建文件,然后在搜索框中使用jQuery*Ajax。。
我向您展示了json文件的示例:
<?php
require_once(\'../../../wp-load.php\');
$gm = array("results" => array());
$loop = new WP_Query( array( \'post_type\' => array(\'post\', \'page\'), \'post_status\' => \'publish\') );
if ( $loop->have_posts() ): while ( $loop->have_posts() ): $loop -> the_post();
$tmp = array(
"title" => get_the_title(),
"url" => get_the_permalink(),
"text" => get_the_excerpt()
);
array_push($gm["results"],$tmp);
endwhile;
endif;
echo json_encode($gm);
不太可能,
HERE in WP Query Author parameters 您只能获取与作者相关的帖子。
因此,最好的解决方案就是简单地查询SQL并将其输出到自定义php文件中。然后,您可以轻松地在搜索框中显示此信息:)