取决于你想怎么做。我目前正在创建一个带有自定义搜索的网站。我分了两步就完成了。
思考首选url:www.example。com/search/<;product\\u name>
为自定义搜索创建wordpress模板添加带有共同响应模板的页面。注意页面id,为其添加所需的重写标记。稍后您将在搜索模板中使用它们:add_action(\'init\',\'custom_rewrite_tags\');
function custom_rewrite_tags() {
add_rewrite_tag(\'%var%\',\'([^&]+)\');
}
现在你可以创建你的重写,因此搜索是一个你喜欢的漂亮urladd_action(\'admin_init\',\'action_custom_rewrite_rules\');
function action_custom_rewrite_rules() {
add_rewrite_rule(\'^search/([^&]+)/?$\',\'index.php?page_id=<the page id>&var=$matches[1]\',\'top\');
}
添加重写规则指定要与url匹配的正则表达式,以及它将发送到索引的共同响应查询。php。regex捕获在$matches变量中重新注册,从索引1开始,第一个捕获的组。在这种情况下,无论www.example是什么。com/search/<;此处>/。我们将匹配项分配给您的自定义重写标记。现在,您可以在搜索模板中启动一个功能,它将可以访问重写标记。例如,将返回变量。如果您不喜欢漂亮的url-s,可以始终使用get\\U查询进行搜索:
/*
* Template name: Custom Search Template
*/
$var = get_query_var(\'var\');
现在是查询$sql = $wpdb->prepare("SELECT * FROM myTable WHERE var = %s",
$var);
$results = $wpdb->get_results($sql);
在结果中,你有你的结果,对它们做任何你想做的事。