Wechseln des Themas durch den Code WordPress

Lesezeit: 2 Minuten

Benutzer-Avatar
Matthias

Ist es möglich, das WordPress-Design programmgesteuert zu wechseln? Zum Beispiel, wenn es einen bestimmten Browser gibt (ein Plugin gefunden hat, um das zu erkennen), dass ein anderes Thema verwendet wird?

Ich möchte in der Lage sein, veralteten Browsern (IE7 und niedriger, niedriger als Saf und FF 3 ed) und mobilen Browsern ein anderes Thema als den anderen Browsern zu geben.

Ich habe die Methode switch_theme gefunden, die jedoch nicht das tut, was ich erwarte (ich bekomme einen leeren Fehler, wenn ich dies in der functions.php aufrufe).

switch_theme('twentyten', 'stylesheet');

Oder verwende ich diese Methode falsch?

Benutzer-Avatar
brasophilo

Hattest du gesucht WordPress StackExchange, hätten Sie gefunden Dies:

add_filter( 'template', 'wpse_49223_change_theme' );
add_filter( 'option_template', 'wpse_49223_change_theme' );
add_filter( 'option_stylesheet', 'wpse_49223_change_theme' );

function wpse_49223_change_theme($theme) 
{
    if ( wp_is_mobile() ) 
        $theme="twentyten";

    return $theme;
}

wp_is_mobile ist eine eingebaute WordPress-Funktion, die unten wiedergegeben wird:

function wp_is_mobile() {
    static $is_mobile;

    if ( isset($is_mobile) )
        return $is_mobile;

    if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
        $is_mobile = false;
    } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false ) {
            $is_mobile = true;
    } else {
        $is_mobile = false;
    }

    return $is_mobile;
}

Benutzer-Avatar
T.Todua

NEIN!

switch_theme schaltet das Thema global für die gesamte Website/Besucher um!

Hier sind Plugins, mit denen Sie das Thema in der Vorschau anzeigen/wechseln können vorübergehend für die aktuelle Sitzung (um eine Vorschau ihrer Websites mit den verschiedenen Themen anzuzeigen):

https://wordpress.stackexchange.com/questions/161187/activate-different-theme-for-temporary-preview

Sie können einfach den Code von einem von ihnen ändern und hinzufügen MOBILE-Erkennung Codes im Login.

1216530cookie-checkWechseln des Themas durch den Code WordPress

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

Privacy policy