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

Benutzer-Avatar
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 ).

    – Benn

    7. April 2016 um 16:28 Uhr

Für mich gearbeitet mit:

add_shortcode('shortcode_name', '__return_false');

Wenn ich versuche, strip_shortcode zu entfernen, entfernen sie alle Shortocodes und ändern das Endergebnis

Wenn Sie nur den Inhalt ohne Shortcodes erhalten möchten, versuchen Sie so etwas

global $post;
$postContentStr = apply_filters('the_content', strip_shortcodes($post->post_content));
echo $postContentStr;

1363060cookie-checkWordPress entfernt einen einzelnen Shortcode aus Beiträgen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy