Wordpress - 带有搜索表单而不是描述的标题

时间:2014-05-05 10:51:40

标签: php wordpress

我试图在网站的标题中插入搜索表单而不是打印描述,但没有成功。

主题没有searchform.php。

header.php中的代码是

    <?php
            global $page, $paged;
            wp_title('|', true, 'right');
            bloginfo('name');
$site_description = get_bloginfo('description', 'display');
            if ( $site_description && ( is_home() || is_front_page()))
                echo " | $site_description";
            if ($paged >= 2 || $page >= 2)
                echo ' | ' . sprintf( __('Page %s'), max($paged, $page));
        ?>

我尝试手动插入<?php get_search_form(); ?>而不是描述代码和

<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>

但没有任何效果,网站甚至不再展示了。

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

代码

<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文件中,如果它不存在,则创建它。 之后,对<?php get_search_form(); ?>的调用将起作用。

答案 1 :(得分:1)

好的,只是把它放在一起,正确答案就在这里:

FIRST: 你应该粘贴

add_theme_support( 'html5', array( 'search-form' ) );

到你的functions.php,如果它还没有在那里。这有助于您激活表单的HTML5支持。你还可以选择其他几个选项 - 你去的地方:Add theme support for HTML5,你应该寻找:

add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption' ) );

归功于@ Moax6629

下一步:您的代码属于searchform.php,正如@ bodi0所说。 提普:打开/关闭自动完成功能:

<form action="" autocomplete="on">

并且不要忘记告诉谷歌分析您的标识符是“s”,这样您也可以跟踪用户在使用G-Analytics时搜索的内容。 Tutorial here

可选:我最喜欢的解决方案:您还可以通过放置此代码在标头中添加侧边栏小部件区域:

<?php if ( is_active_sidebar( 'id-you-have-give-while-registering' ) ) : ?>
    <span id="header-widget" class="put all your css classes here" role="complementary">
        <?php dynamic_sidebar( 'id-you-have-give-while-registering' ); ?>
    </span>
<?php endif; ?>

因此管理员可以在标题中添加文本或图标而不是搜索表单。您也可以采用与404页面上可能找到的搜索表单不同的方式来处理标题搜索表单。

不要忘记通过将以下内容发布到您的功能

来告诉wordpress有关侧边栏的信息
register_sidebar( array(
    'name' =>__( 'Your name which will be displayed as Widget Area Name', 'youridgoeshere'),
    'id' => 'id-you-have-give-while-registering', // this ID is meant by "id-you-have-give-while-registering"
    'description' => __( 'Der Inhalt erscheint in der Kopfzeile am rechten Rand der Menüleiste.', 'youridgoeshere' ),
    'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    'after_widget' => '</aside>',
    'before_title' => '<h3 class="widget-title centered">',
    'after_title' => '</h3>',
) );

希望这会帮助你!抱歉所有的编辑,但我的一些代码没有显示,我尽力让他们显示:( 祝一切顺利 FAB

答案 2 :(得分:0)

试试这个..

add_theme_support( 'html5', array( 'search-form' ) );

答案 3 :(得分:0)

我刚刚意识到我正在编辑错误的代码。 我将<?php get_search_form(); ?>放在标题的另一部分,然后就可以了。谢谢任何人。