it-swarm.com.de

Wie bekomme ich die Schnecke des aktiven Themas?

Ich kann mit wp_get_theme() bestimmte Informationen zum aktiven Thema abrufen. Zum Beispiel:

$theme = wp_get_theme();
echo $theme->get( 'TextDomain' ); // twentyfifteen
echo $theme->get( 'ThemeURI' ); // https://wordpress.org/themes/twentyfifteen/

Gibt es eine Möglichkeit, die Schnecke des Themas zu bekommen? In diesem Fall wäre es fünfundzwanzig . Bitte beachten Sie, dass der Slug des Themas nicht immer mit der Textdomäne des Themas übereinstimmt. Ich möchte auch vermeiden, dass Zeichenfolgen an der URL des Themas ersetzt werden, wenn dies möglich ist.

Ref: https://codex.wordpress.org/Function_Reference/wp_get_theme

4
henrywright

Ich habe festgestellt, dass der Name des Themenverzeichnisses dem Slug des Themas am nächsten kommt. Dies kann mit get_template() ermittelt werden:

echo get_template(); // twentyfifteen

Ref: https://codex.wordpress.org/Function_Reference/get_template

1
henrywright

Sie können den Slug in der Tabelle options abrufen, die unter dem Namen stylesheet gespeichert ist.

echo get_option('stylesheet');
7
RRikesh

Kurze Antwort: get_stylesheet ();

Es gibt technisch gesehen keinen "Slug" -Wert für ein Thema. Der Name des Verzeichnisses eines bestimmten Themas ist das, was Sie wollen.

get_template();

… Gibt den Verzeichnisnamen Ihres Themas zurück, oder das übergeordnete Thema , falls Ihr aktuelles Thema ein untergeordnetes Thema ist.

get_option('stylesheet');

Gibt IMMER den Verzeichnisnamen Ihres aktiven Themas zurück, unabhängig davon, ob es sich um ein untergeordnetes Thema handelt.

get_stylesheet();

Gibt IMMER den Verzeichnisnamen Ihres aktiven Themas zurück, unabhängig davon, ob es sich um ein untergeordnetes Thema handelt. Diese Funktion ist im Wesentlichen ein Wrapper für get_option('stylesheet');, außer dass sie auch einen Stylesheet-Filter anwendet.

function get_stylesheet() {
/**
 * Filters the name of current stylesheet.
 *
 * @since 1.5.0
 *
 * @param string $stylesheet Name of the current stylesheet.
 */
return apply_filters( 'stylesheet', get_option( 'stylesheet' ) );
}

Ich bin mir nicht sicher, was der Stylesheet-Filter bewirkt. Sieht so aus, als hätte es etwas mit dem Customizer zu tun.

In den allermeisten Fällen würden diese drei Funktionen dasselbe tun, aber get_stylesheet(); scheint die sicherste Wette zu sein.

2
drdogbot7

wp_get_theme ruft ein WP_Theme -Objekt für ein Design ab.

$theme = wp_get_theme();

if ( 'Conj' === $theme->name || 'conj' === $theme->template ) {
    // Do something...
}
0
Mahdi Yazdani