在div中添加搜索表单

时间:2017-03-09 作者:SilverLink

我想使用下面的代码在div中添加一个搜索表单:

printf( \'<div class="entry"><p>%s</p>%s</div>\', apply_filters( \'genesis_noposts_text\', __( \'Try again below.\', \'genesis\' ) ), get_search_form() );

但每次我添加get_search_form() 它在div之前生成,如下所示:

<form></form>
<div class="entry"></div>
我找到的解决方法是拆分代码,但我想知道是否有更好的解决方案可以正常工作。

remove_action( \'genesis_loop_else\', \'genesis_do_noposts\' );
add_action( \'genesis_loop_else\', \'mytheme_do_noposts\' );
function mytheme_do_noposts() {

    printf( \'<div class="entry"><p>%s</p>\', apply_filters( \'genesis_noposts_text\', __( \'Try again below.\', \'genesis\' ) ) );

    printf( \'%s</div>\', get_search_form() );

}
<小时>

get_search_form

2 个回复
最合适的回答,由SO网友:Christina 整理而成

这个get_search_form() 回声,所以它总是在返回之前出现。使用:

get_search_form( false )

SO网友:Zelda

解决方案是使用get_search_form( false ).

get_search_form() 将输出search form. 由于您试图在字符串上下文中使用结果,因此需要函数返回html 以字符串的形式通过printf.

的唯一参数get_search_form 控制该行为。默认情况下,它会打印,但如果通过false, 它将返回您需要的字符串。

相关推荐

如何在WordPress unctions.php中将短代码值传递到Head

我正在尝试为wordpress帖子上的图表创建一个快捷代码。到目前为止,我已经使用了短代码,我可以看到短代码值正在被传递,但我需要知道的是如何将这些值传递到Google图表,以便正确工作。以下是我目前掌握的代码:function chart_shortcode($atts) { $a = shortcode_atts( array( \'value1\' => \'\', \'value2\' => \'\', \'value