2017-03-09 55 views
1

添加搜索表單一個div裏面我想添加一個div內搜索表單使用的代碼波紋管:在WordPress的

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

但每次我添加它的股利之前產生的get_search_form(),像以下內容:

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

回答

1

的解決方案是使用get_search_form(false)

get_search_form()輸出搜索表單。由於您試圖在字符串上下文中使用結果,因此您需要該函數以字符串的形式返回HTML,該字符串將通過printf傳遞。

get_search_form的唯一參數控制該行爲。默認情況下它會打印,但如果您通過false,它將返回您需要的字符串。

0

要將搜索表單作爲字符串使用,請使用get_search_form(false)

使用可以查看該功能的文件here