Ich schreibe ein Wordpress-Plugin, das das Verhalten eines vorhandenen Plugins erweitert.Ein vorhandenes shortcode mit einem neuen einbinden
Das vorhandene Plugin definiert einen Shortcode mit dem Namen [original]
und ich definiere einen Shortcode mit dem Namen [wrapper]
, der einige Funktionen hinzufügt, aber grundsätzlich das gleiche Verhalten.
Dies ist der Code, den ich schrieb:
function wrapper_shortcode($atts,$content)
{
//Do something...
return do_shortcode("[original]$content[/original]");
}
add_shortcode('wrapper', 'wrapper_shortcode');
Meine Frage ist, wie gehe ich die Attribute ($atts
) neben den [original]
Shortcode, und gibt es einen besseren Weg, dies zu tun, als das zu nennen do_shortcode()
funktionieren?
Der beste Weg ist, den ursprünglichen Kurzwahlcode zu ändern und sicherzustellen, dass die Ausgabe mit der '' 'do_shortcode''' Funktion umbrochen wird. es ist am besten, wenn der ursprüngliche Shortcode einen Filter oder Haken hat – silver
Ändern des Ursprungs Ein Shortcode ist keine Option, da alle Änderungen am Plugin-Code überschrieben werden, wenn das Original-Plugin aktualisiert wird –
Sie können den ursprünglichen Shortcode ändern, indem Sie '' 'shortcode''' entfernen und mit demselben Shortcode erneut hinzufügen Tag, aber verschiedene Funktion ausgeführt, aber dann müssen Sie Ihre benutzerdefinierte Funktion aktualisieren, sobald die ursprüngliche Funktion geändert wird, Wenn das immer noch nicht funktioniert, dann müssen Sie Regex verwenden, um auch nach dem ursprünglichen Shortcode suchen, extrahieren Sie sein Attribut und re - Führe es in deiner Funktion mit einigen Modifikationen aus, es ist nicht so schwer, aber ich bin nicht gut in Regex, also kann ich dir kein Beispiel geben. – silver