Text in derselben Zeile anzeigen

Egal, was ich mache (stripping HTML-Tags oder nicht) die folgende Aussage zeigt das Ergebnis auf 2 Zeilen statt einer:

$text = sprintf( '

%1$s %2$s

', wp_filter_nohtml_kses( the_author_meta('user_firstname') ), __( 'hasn\'t published any articles yet.', 'monochrome-pro' ) );

Irgendeine Idee, warum das passiert?

Solutions Collecting From Web of "Text in derselben Zeile anzeigen"

Beachten Sie, dass the_author_meta() den Meta-Wert nicht the_author_meta() , sondern ihn the_author_meta() . Deshalb ist der Name plötzlich außerhalb des Elements

.

Verwenden Sie get_the_author_meta() wenn Sie das Feld zurückgeben (und etwas damit machen) müssen, anstatt es nur anzuzeigen.

Ich empfehle Ihnen dringend, Ihre Verwendung von __() zu ändern, da dies für Übersetzer nicht nützlich ist, da der Name als Kontext fehlt.

 /* translators: %s: user's first name */ $text = sprintf( __( "%s hasn't published any articles yet.", 'monochrome-pro' ), esc_html( get_the_author_meta( 'user_firstname' ) ) ); echo '

' . $text . '

';

Hinweis: Wenn Sie Ihren Übersetzungen nicht vertrauen, sollten Sie esc_html() für $text anstelle des Benutzermetas verwenden. Wie in den Kommentaren erwähnt, ist die Verwendung von KSES-functionen etwas übertrieben. Wenn Sie HTML-Tags loswerden möchten (statt sie einfach zu wp_strip_all_tags() würde ich wp_strip_all_tags() .