php 在WordPress主题中(使用get_search_form()),如何将占位符文本添加到搜索框?

83qze16e  于 12个月前  发布在  PHP
关注(0)|答案(4)|浏览(189)

我试图创建一个主题,我在标题中显示一个搜索框使用:

<?php get_search_form(); ?>

字符串
有没有一种方法可以让占位符文本显示在该框中?

bq8i3lrv

bq8i3lrv1#

我最终发现,如果我的主题文件夹中没有一个名为“searchform.php”的文件,WordPress显示的是不包含任何占位符文本的默认表单:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
    <div><label class="screen-reader-text" for="s">Search for:</label>
        <input type="text" value="" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="Search" />
    </div>
</form>

字符串
我在主题文件夹中创建了一个名为“searchform.php”的新文件,并修改了默认表单以包含占位符文本:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
    <div>
        <input type="text" value="" name="s" id="s" placeholder="Search gear, clothing, & more.." />
        <input type="submit" id="searchsubmit" value="Search" />
    </div>
</form>

qni6mghb

qni6mghb2#

在主题文件夹中创建searchform.php并将代码放在其中

<form method="get" id="searchform" action="<?php bloginfo('url'); ?>">
<div>
<input class="text" type="text" value=" " name="s" id="s" />
<input type="submit" class="submit button" name="submit" value="<?php _e('Search');?>" />
</div>
</form>

字符串
改变任何你想要的!像类,占位符,文本任何你想要的东西,但不改变像名称,id和表单属性
谢谢

nzkunb0c

nzkunb0c3#

WP codex有一个占位符的例子:
如果你的主题支持HTML5,如果它使用add_theme_support('html5', array('search-form')),它将输出以下HTML表单。这是WordPress 3.6以来的情况。

<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
    <label>
        <span class="screen-reader-text">Search for:</span>
        <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:" />
    </label>
    <input type="submit" class="search-submit" value="Search" />
</form>

字符串
如果你不想使用HTML5标签和属性,你可以create placeholders with JavaScript

h9a6wy2h

h9a6wy2h4#

official get_search_form解释了更灵活的修改,可以添加到您的functions.php。
在这里查看CodeX commit。

TL;DR

验证码:

function wpdocs_my_search_form( $form ) {
// replace the new form on your own.
    $form = '<form role="search" method="get" id="searchform" class="searchform" action="' . home_url( '/' ) . '" >
    <div><label class="screen-reader-text" for="s">' . __( 'Search for:' ) . '</label>
    <input type="text" value="' . get_search_query() . '" name="s" id="s" />
    <input type="submit" id="searchsubmit" value="'. esc_attr__( 'Search' ) .'" />
    </div>
    </form>';
 
    return $form;
}

add_filter( 'get_search_form', 'wpdocs_my_search_form' );

字符串

相关问题