Hinzufügen eines Suchformulars in einem div

Ich wollte ein Suchformular in einem Div mit dem folgenden Code hinzufügen:

printf( '

%s

%s

', apply_filters( 'genesis_noposts_text', __( 'Try again below.', 'genesis' ) ), get_search_form() );

Aber jedes Mal, wenn ich die get_search_form() hinzufüge, wird sie vor dem div wie folgt erzeugt:

 

Die Problemumgehung, die ich gefunden habe, war, den Code zu teilen, aber ich wollte wissen, ob es eine bessere Lösung gibt, die richtig funktioniert.

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

%s

', apply_filters( 'genesis_noposts_text', __( 'Try again below.', 'genesis' ) ) ); printf( '%s
', get_search_form() ); }

get_search_formular

Solutions Collecting From Web of "Hinzufügen eines Suchformulars in einem div"

Die get_search_form() Echos werden also immer vor der Rückkehr get_search_form() . Benutzen:

 get_search_form( false ) 

Die Lösung besteht darin, get_search_form( false ) .

get_search_form() gibt das search form . Da Sie versuchen, das Ergebnis in einem Zeichenfolgenkontext zu verwenden, müssen Sie die function html in Form einer Zeichenfolge zurückgeben, die Sie printf .

Der einzige Parameter für get_search_form steuert dieses Verhalten. Standardmäßig wird gedruckt, aber wenn Sie false , wird die von Ihnen benötigte Zeichenfolge zurückgegeben.