更改Get_Search_Form的行为

时间:2014-12-15 作者:gary

我创建了一个显示搜索框的函数,并将其命名为my_get_search_form(). 那是原件的副本get_search_form() 作用

调用函数时,输出如下:Search in http://localhost/wp_ex_3/ <AN EMPTY BOX> <A BROKEN IMAGE LINK>.

我怎样才能改变这个丑陋的显示而不显示http://localhost/wp_ex_3/. 我应该说在函数定义中没有"search in" 语句,因此另一个函数导致了此行为。上函数的源代码developer.wordpress.org: https://developer.wordpress.org/reference/functions/get_search_form/#source-code .

3 个回复
SO网友:propz

无需添加其他函数即可获取搜索表单。如果要更改搜索表单的外观或添加其他项目,则必须添加searchform.php 你的主题。

可能是这样的:

    <form role="search" method="get" class="search-form" action="<?php echo home_url( \'/\' ); ?>">
        <input type="search" class="search-field" placeholder="Suchen …" value="<?php echo get_search_query() ?>" name="s" title="Suche nach:" />
        <input type="submit" class="search-submit" value="Suchen" />
    </form>
每次你打电话给get_search_form() 函数,它将返回searchform.php 文件在那里,您可以根据需要添加任意多的表单字段。

SO网友:Owais Alam

如果要更改搜索行为,则只需将自己的字段添加到表单中

<form role="search" method="get" id="searchform" action="http://www.test.dev/">
<div>
<label for="s">Search for:</label>
<input type="text" value="" name="s" id="s" />
<input type="hidden" value="1" name="sentence" />
<input type="hidden" value="product" name="post_type" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>
提交此搜索表单时,将生成以下URL:

http://www.test.dev/?s={query}&sentence=1&post_type=product

SO网友:Liton Arefin

根据主题设计,需要更改默认行为或搜索表单。下面是我所做的一个示例:

add_filter(\'get_search_form\', \'elevation_search_form\');

function elevation_search_form($form) {
    $form = \'<form action="\' . esc_url( home_url( \'/\' ) ) . \'" method="get" class="search-form">
        <input type="text" name="s" id="s" class="search" placeholder="Search for.." value="\' . esc_attr( get_search_query() ) . \'" required>
        <button type="submit" id="search-submit" class="search-submit"><i class="fa fa-search"></i></button>
        </form>\';
return $form;
}

结束

相关推荐

加载CSS文件的子主题中的Functions.php中断网站

我创建了一个子主题并创建了一个函数。子主题目录中也具有所需样式的php文件。css文件和我要加载的单独自定义css文件。这是我使用的代码:<? php add_action(\'wp_head\', \'add_landing_css\'); function add_landing_css() { wp_enqueue_style(\'landing_css\', get_stylesheet_directory_uri().\'/landing.cs