Obtener el nombre del autor del tema principal

2

Quiero obtener el nombre de Autor del tema principal.

Puedo obtener el nombre del tema usando wp_get_theme () para obtener el objeto de tema del tema actual (hijo). De esto puedo obtener el nombre del tema principal.

A continuación, creo que necesito obtener el objeto del tema principal, pero no estoy seguro de cuál es la mejor manera de abordar esto. Aquí está mi código hasta ahora:

$style_parent_theme = wp_get_theme();
$style_parent_theme_dir = $style_parent_theme->get( 'Template' );
$style_parent_theme_name = wp_get_theme($parent_theme_dir);
$style_parent_theme_author = $style_parent_theme_name->get( 'Author' );

if ($style_parent_theme_author == "WooThemes") {
    
pregunta raison 02.06.2015 - 21:08

6 respuestas

4

Gracias por toda la ayuda que me indicó la dirección correcta. Al final usé lo siguiente:

$style_parent_theme = wp_get_theme(get_template());
$style_parent_theme_author = $style_parent_theme->get( 'Author' );

Uso get_template () para recuperar el nombre de la carpeta del tema principal.

wp_get_theme luego obtiene el objeto de tema.

Una vez que tengamos eso, podemos manipular el objeto para obtener el nombre del autor.

    
respondido por el raison 03.06.2015 - 09:27
1

La línea 3 de tu código dice:

$style_parent_theme_name = wp_get_theme($parent_theme_dir);

debería ser:

$style_parent_theme_name = wp_get_theme($style_parent_theme_dir);

de lo contrario, el código es correcto.

    
respondido por el Frank P. Walentynowicz 03.06.2015 - 07:35
1

Puede obtener este valor sobre el tema secundario. Al principio conseguir la fecha del tema de su hijo. La forma más sencilla es la función wp_get_theme() , consulte codex para obtener los parámetros y más información. Obtienes un objeto con toda la información relevante sobre el tema actual. En el paso dos, verifique si es un tema secundario y luego obtenga la información de su padre, como la siguiente fuente.

// Current WP_Theme object.
// Get this data via hook or class WP_Theme
// As wrapper, simple to sue is the function wp_get_theme()
$theme_data    = wp_get_theme();
$is_child      = $this->is_child( $theme_data );

if ( $is_child ) {
    $parent_name = $theme_data->parent()->Name;
}

El método is_child es simple:

function is_child( $theme_data ) {
    // For limitation of empty() write in var
    $parent = $theme_data->parent();
    if ( ! empty( $parent ) ) {
        return TRUE;
    }
    return FALSE;
}
    
respondido por el bueltge 03.06.2015 - 09:23
1

Estaba buscando obtener el nombre del tema principal y tropecé con esta publicación.

Creo que la mejor solución no se menciona aquí:

wp_get_theme()->parent()->get( 'Author' );

o lo que necesitaba:

wp_get_theme()->parent()->get( 'Name' )
    
respondido por el Web-Entwickler 30.12.2016 - 10:50
0

Esto funciona para mí.

  <?php
  $my_theme = wp_get_theme('parentThemeName');
  echo $my_theme->get( 'Author' );
  ?>
    
respondido por el JediTricks007 03.06.2015 - 07:06
0

función simple

function show_theme_author(){

    $theme = wp_get_theme();

    return $theme->get('Author');

}
    
respondido por el Benn 22.09.2016 - 18:37

Lea otras preguntas en las etiquetas