要更改搜索表单,请筛选get_search_form
. 您可以在此处将表单作为字符串获取,并可以根据需要进行更改。
add_filter( \'get_search_form\', function( $form )
{
// Replace the form, add additional fields
return $form;
});
要将搜索查询更改为数据库,请筛选
posts_search
. 您以字符串形式获取查询,并且当前
WP_Query
提供更多信息的对象。看见
wp-includes/query.php
用于上下文。
add_filter( \'posts_search\', function( $search_query, $wp_query )
{
// change the SQL
return $search_query;
}, 10, 2 );
如果不想筛选搜索查询,请更改
name
搜索表单中的属性,示例
foo
, 并检查
$_POST
请求:
if ( ! empty ( $_POST[\'foo\'] ) )
{
$global $wpdb;
$results = $wpdb->get_results( /* custom sql */ );
}