webentwicklung-frage-antwort-db.com.de

Wie kann ich einen String mit einer Variablen in einem Shortcode zurückgeben?

$output = '<p class="one"><small>'.$newsletter_one. '</small></p>'

Im Allgemeinen veröffentlichen wir beim Schreiben von Funktionscodes HTML wie oben beschrieben und verwenden anstelle von Echo die Rückgabefunktion.

Wie sollen wir dieses schreiben →

<span class="class2" id="class3-<?php echo $random;?>"> </span>

So →

$output = '<span class="class2" id="class3-.$random."> </span>'

oder hat das ein paar mängel

1
The WP Novice

Wenn Sie Daten in Kombination mit einer Zeichenfolge zurückgeben möchten, können Sie eine der folgenden Methoden verwenden:

Öffne und schließe den String mit ':

return '<span class="class2" id="class3-' . $random . '"> </span>';

Oder verwenden Sie das doppelte Anführungszeichen:

return "<span class='class2' id='class3-{$random}'> </span>";

Sie können $random einfach ohne die geschweiften Klammern {} verwenden, aber es ist einfacher zu lesen, wenn Sie {} verwenden.

Sie können sogar doppelte Anführungszeichen für die innere Zeichenfolge verwenden, müssen diese jedoch maskieren:

return "<span class=\"class2\" id=\"class3-{$random}\"> </span>";

Wie in den Kommentaren von @birgire erwähnt, können wir die Variable auch umgehen, um WordPressy zu verbessern:

return sprintf( '<span class="class2" id="class3-%s"></span>', esc_attr( $random ) );
4
Jack Johansson

Zusätzlich zu Jack Johanssons Antwort (ich würde dem einen Kommentar hinzufügen, aber es scheint, dass ich länger hier sein muss, um das zu tun, als meine eigene Antwort zu posten!) Ich glaube nicht, dass Sie überhaupt die internen Anführungszeichen brauchen. AFAICT (ich bin ein relativ neuer PHP Programmierer), Sie könnten einfach schreiben

return "<span class='class2' id='class3-{$random}'> </span>";

und das würde genauso gut funktionieren.

1
Richard Bos