function, um nur die erste Instanz des Shortcodes anzuzeigen

Ich muss meinem Thema eine function hinzufügen, um weitere Instanzen eines Shortcodes in einem Beitrag zu entfernen.

Zuerst frage ich mich, ob ich mich dem falsch annähere, aber ich habe ein Thema, das die Art und Weise, wie ein Beitrag angelegt wird, drastisch umformatiert. In der Post suchen wir nach Medien und Shortcode und zeigen sie dann oben auf der Seite an, wobei wir sie vom Inhalt entfernen und sie vor den Titel stellen.

Die bedingte statement prüft auf das Vorhandensein eines vorgestellten Bildes oder eines Galerie-Shortcodes und druckt sie dann aus. Das Problem ist, dass die Galerie wieder im the_content () gedruckt wird. Was ich tun möchte, ist eine function zu erstellen, um den Shortcode zu entfernen, nachdem er das erste Mal gedruckt wurde.

Ich bin mir dieses Hooks remove_shortcode () bewusst, aber das wird alle Instanzen dieses Shortcodes entfernen, wo ich es nur entfernen will, nachdem das erste gedruckt wurde.

Solutions Collecting From Web of "function, um nur die erste Instanz des Shortcodes anzuzeigen"

Fügen Sie dem Shortcode-Handler eine statische Variable hinzu, um zu prüfen, ob der Shortcode bereits aufgerufen wurde.

Beispielcode

add_shortcode( 'wpse62826', 'wpse_62826_shortcode' ); function wpse_62826_shortcode() { static $done = FALSE; // Nothing to do. if ( $done ) { return; } if ( is_singular() ) { $done = TRUE; } return 'I run once on singular views!'; } 

Ergebnis

Bildbeschreibung hier eingeben