Wie kann man den Shortcode beim Anzeigen von the_excerpt () in der Schleife ausfiltern?

Ich benutze the_excerpt() in meiner Vorlagenschleife, um Post-Auszug auf der Titelseite anzuzeigen.

Es zeigt gerade unerwünschten Shortcode direkt auf der Titelseite an

z.B.

[box]post content[/box]

[alert]post content[/alert]

Wie kann ich diesen Shortcode nur unter Beibehaltung des eigentlichen Inhalts herausfiltern?

Solutions Collecting From Web of "Wie kann man den Shortcode beim Anzeigen von the_excerpt () in der Schleife ausfiltern?"

Versuche dies

 add_filter( 'get_the_excerpt', 'strip_shortcodes', 20 ); 

oder versuche diese Änderung

 echo strip_shortcodes( get_the_excerpt() ); 

wenn shortcode nicht mit wordpress function add_shortcode registriert ist

 add_filter( 'the_excerpt', 'remove_shortcodes_in_excerpt', 20 ); function remove_shortcodes_in_excerpt( $content){ $content = strip_shortcodes($content); $tagnames = array('box', 'alert'); // add shortcode tag name [box]content[/box] tagname = box $content = do_shortcodes_in_html_tags( $content, true, $tagnames ); $pattern = get_shortcode_regex( $tagnames ); $content = preg_replace_callback( "/$pattern/", 'strip_shortcode_tag', $content ); return $content; } 
 function wpsesess_ddecode_excerpt( $excerpt ) { return strip_shortcodes( $excerpt ); } add_filter( 'the_excerpt', 'wpsesess_ddecode_excerpt' ); 

EDITIEREN Kannst du das bitte in functions.php posten und mich wissen lassen?

Da Ihr neues Thema die Shortcodes nicht registriert, werden sie als reiner Text betrachtet. Jeder Filterversuch ist nutzlos, da es sich bei WordPress nicht um Shortcodes handelt.

Der einfachste Weg, dies zu lösen, besteht darin, die Shortcodes in Ihrem neuen Thema zu registrieren und sie mit einer Aktion zu verknüpfen, die nichts außer dem Entfernen des Shortcodes tut.

Versuchen:

 $excerpt = $post->post_excerpt; $excerpt = apply_filters('the_content', $excerpt); echo $excerpt; 

Oder:

 $excerpt = $post->post_excerpt; $excerpt = apply_filters('the_excerpt', $excerpt); echo $excerpt;