tpw_complete': // 重置密码 $pre .= $default_pre .= 'user_resetpw_complete.htm'; break; case 'user_comment': // 我的首页评论 $pre .= $default_pre .= 'user_comment.htm'; break; case 'single_page': // 单页 $pre .= $default_pre .= 'single_page.htm'; break; case 'search': // 搜索 $pre .= $default_pre .= 'search.htm'; break; case 'operate_sticky': // 置顶 $pre .= $default_pre .= 'operate_sticky.htm'; break; case 'operate_close': // 关闭 $pre .= $default_pre .= 'operate_close.htm'; break; case 'operate_delete': // 删除 $pre .= $default_pre .= 'operate_delete.htm'; break; case 'operate_move': // 移动 $pre .= $default_pre .= 'operate_move.htm'; break; case '404': $pre .= $default_pre .= '404.htm'; break; case 'read_404': $pre .= $default_pre .= 'read_404.htm'; break; case 'list_404': $pre .= $default_pre .= 'list_404.htm'; break; default: // 首页 $pre .= $default_pre .= theme_mode_pre(); break; } if ($config['theme']) { $conffile = APP_PATH . 'view/template/' . $config['theme'] . '/conf.json'; $json = is_file($conffile) ? xn_json_decode(file_get_contents($conffile)) : array(); } // 加载绑定ID安装风格 !empty($json['installed']) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . ($id ? $id . '_' : '') . $pre; // 加载安装风格 (empty($path_file) || !is_file($path_file)) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . $pre; // 主风格下可安装多个子风格 if (!empty($config['theme_child']) && is_array($config['theme_child'])) { foreach ($config['theme_child'] as $theme) { if (empty($theme) || is_array($theme)) continue; // 加载绑定ID安装风格 $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . ($id ? $id . '_' : '') . $pre; // 加载安装风格 !is_file($path_file) and $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . $pre; } } // 风格不存在加载适配端 !is_file($path_file) and $path_file = APP_PATH . ($dir ? 'plugin/' . $dir . '/view/htm/' : 'view/htm/') . $default_pre; return $path_file; } // 依据模式返回适配文件 function theme_mode_pre($type = 0) { global $config; // 网站模式 $mode = $config['setting']['website_mode']; $pre = ''; // 首页文件前缀 if (1 == $mode) { // 门户模式 $pre .= 2 == $type ? 'portal_category.htm' : 'portal.htm'; } elseif (2 == $mode) { // 扁平模式 $pre .= 2 == $type ? 'flat_category.htm' : 'flat.htm'; } else { // 自定义模式 $pre .= 2 == $type ? 'index_category.htm' : 'index.htm'; } return $pre; } ?>Why should we use the name attribute with the value "s" in the creation of the search form?|Concepts Of Algorithm

Why should we use the name attribute with the value "s" in the creation of the search form?

admin2025-06-04  1

I was doing a search form when I realized that if I change the value of the name attribute to something other than "s", the search.php page will not be displayed.

How can I change and still display the search.php page?

NOTE: I used the translator if there are any errors. I ask you to please edit for me and sorry for my ignorance

I was doing a search form when I realized that if I change the value of the name attribute to something other than "s", the search.php page will not be displayed.

How can I change and still display the search.php page?

NOTE: I used the translator if there are any errors. I ask you to please edit for me and sorry for my ignorance

Share Improve this question edited Jan 2, 2019 at 15:53 RiddleMeThis 3,8078 gold badges22 silver badges30 bronze badges asked Jan 2, 2019 at 11:57 ProgramadorWProgramadorW 1 1
  • 1 Welcome to the site. The s input name in the form, will become a GET parameter, if the form's method is set to GET and WordPress will treat it as a search query. I wonder why you need to change it? – birgire Commented Jan 2, 2019 at 12:36
Add a comment  | 

1 Answer 1

Reset to default 1

The name attribute of the input element becomes the query parameter in the URL when the form is submitted. So for an input with the name s the URL will look like:

http://example/?s=my+search+query

WordPress is built so that the s parameter indicates a search, so it then queries based on that value and loads the search.php template.

There isn't a way to change the name of the query parameter used for search per se, but you could use an early hook to manually set the value of $_GET['s'] to the value of your own parameter name.

For example, if you wanted to use q as the input name:

function wpse_324429_search_parameter() {
    if ( isset( $_GET['q'] ) ) {
        $_GET['s'] = $_GET['q'];
    }
}
add_action( 'init', 'wpse_324429_search_parameter' );

Manually setting a value in $_GET feels wrong to me, but I can't see why it wouldn't work.

转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749050432a315933.html

lang[new_post](0)