it-swarm.com.de

Erlaube Shortcode für benutzerdefiniertes Widget

Der folgende Code ermöglicht das Parsen von Kurzcodes für das Widget "Text":

add_filter('widget_text', 'do_shortcode');

Wie erstelle ich ein ähnliches für ein benutzerdefiniertes Widget?

Ich habe folgendes probiert, aber es hat nicht funktioniert:

add_filter('widget_CUSTOM_WIDGET_NAME', 'do_shortcode');
1
Ahmed Saad

Sie können Folgendes versuchen:

/**
 * Only allow shortcodes for a widget with a given title.
 *
 * @see http://wordpress.stackexchange.com/a/160246/26350
 */

function wpse_widget_shortcode( $text, $instance )
{
        // Only allow shortcodes for the widget with the following title:
        $title = 'Some Title'; 

        remove_filter( current_filter(), __FUNCTION__ );

        if( isset( $instance['title'] ) 
            && mb_strtolower( $title ) === $instance['title'] 
        )
            $text = do_shortcode( $text );

        return $text;
}

add_filter( 'widget_text', 'wpse_widget_shortcode', 99, 2 );

wo wir das gegebene Widget durch seinen Titel anvisieren.

0
birgire