如何在WordPress中修改搜索URL为带?s=参数的格式
调整方案:恢复带
s参数的搜索URL格式 要实现目标的http://simply.mmag.in/blog/?s=coaching格式,直接对现有代码做以下调整即可:
1. 删除强制重定向的美化URL代码
你当前的wpb_change_search_url函数是导致搜索URL变成/blog/关键词格式的核心原因,直接移除这段代码:
// 移除以下代码,不再需要 // function wpb_change_search_url() { // if ( is_search() && ! empty( $_GET['s'] ) ) { // wp_redirect( home_url( "/blog/" ) . urlencode( get_query_var( 's' ) ) ); // exit(); // } // } // add_action( 'template_redirect', 'wpb_change_search_url' );
2. 保留并优化搜索基础路径设置
保留re_rewrite_rules函数,但建议去掉每次初始化时自动刷新规则的操作(避免重复刷新影响性能),调整后代码如下:
function re_rewrite_rules() { global $wp_rewrite; $wp_rewrite->search_base = 'blog'; // 首次启用时保留该行刷新规则,之后可以注释掉 // $wp_rewrite->flush_rules(); } add_action('init', 're_rewrite_rules');
- 首次启用这段代码时,保留
flush_rules()执行一次以刷新WordPress重写规则;后续可以注释掉该行,避免每次页面加载都重复刷新规则。
3. 调整搜索表单提交路径
默认WordPress搜索表单会提交到网站根目录,添加以下代码将表单提交路径改为/blog/,确保生成/blog/?s=关键词的URL:
function custom_search_form_action($form) { // 将搜索表单的action替换为/blog/路径 $form = str_replace(home_url('/'), home_url('/blog/'), $form); return $form; } add_filter('search_form', 'custom_search_form_action');
完成以上调整后,你的WordPress搜索URL就会变成目标的http://simply.mmag.in/blog/?s=coaching格式。
内容的提问来源于stack exchange,提问作者Saud Pardesi
相关产品推荐
相关产品推荐

