WordPress entfernt einen einzelnen Shortcode aus Beiträgen
Lesezeit: 1 Minute
Ich will nur das Strippen Shortcodes in meinen Blogbeiträgen. Die einzige Lösung, die ich gefunden habe, ist ein Filter, den ich meinen Funktionen hinzugefügt habe.
function remove_gallery($content) {
if ( is_single() ) {
$content = strip_shortcodes( $content );
}
return $content;
}
add_filter('the_content', 'remove_gallery');
Es entfernt alle Shortcodes einschließlich die ich für Bilder benötige. Wie kann ich einen einzelnen Shortcode zum Ausschließen oder Einschließen angeben?
Können Sie ein Beispiel für einen oder zwei Shortcodes geben?
– Darragh Enright
25. Februar 2012 um 2:28 Uhr
hakre
Um nur den Galerie-Shortcode zu entfernen, registrieren Sie eine Callback-Funktion, die eine leere Zeichenfolge zurückgibt:
add_shortcode('gallery', '__return_false');
Das funktioniert aber nur mit den Callbacks. Um dies statisch zu tun, können Sie den globalen Zustand von WordPress vorübergehend ändern, um es zu täuschen:
/**
* @param string $code name of the shortcode
* @param string $content
* @return string content with shortcode striped
*/
function strip_shortcode($code, $content)
{
global $shortcode_tags;
$stack = $shortcode_tags;
$shortcode_tags = array($code => 1);
$content = strip_shortcodes($content);
$shortcode_tags = $stack;
return $content;
}
Verwendungszweck:
$content = strip_shortcode('gallery', $content);
Schön, aber Sie müssen andere Shortcodes zurückgeben, vergessen Sie danach nicht echo do_shortcode( $content ).
Können Sie ein Beispiel für einen oder zwei Shortcodes geben?
– Darragh Enright
25. Februar 2012 um 2:28 Uhr