Obter nome do autor do tema pai

2

Eu quero obter o nome do autor do tema principal.

Eu posso obter o nome do tema usando wp_get_theme () para obter o objeto de tema do tema atual (filho). A partir disso, posso obter o nome do tema pai.

Em seguida, acho que preciso obter o objeto do tema pai, mas não tenho certeza da melhor maneira de abordar isso. Aqui está o meu código até agora:

$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") {
    
por raison 02.06.2015 / 21:08

6 respostas

4

Obrigado por toda a ajuda que me apontou na direção certa. No final, usei o seguinte:

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

Eu uso get_template () para recuperar o nome da pasta do tema pai.

wp_get_theme, então, é o objeto do tema.

Depois disso, podemos manipular o objeto para obter o nome do autor.

    
por raison 03.06.2015 / 09:27
1

A linha 3 do seu código diz:

$style_parent_theme_name = wp_get_theme($parent_theme_dir);

deve ser:

$style_parent_theme_name = wp_get_theme($style_parent_theme_dir);

caso contrário, o código está correto.

    
por Frank P. Walentynowicz 03.06.2015 / 07:35
1

Você pode obter esse valor sobre o tema filho. Primeiro, pegue a data do tema do seu filho. A maneira mais simples é a função wp_get_theme() , veja codex para os parâmetros e mais informações. Você recebe um objeto com todas as informações relevantes sobre o tema atual. Na etapa dois, verifique se é um tema filho e, em seguida, obtenha suas informações pai, como a fonte a seguir.

// 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;
}

O método is_child é simples:

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

Eu estava procurando por obter o nome do tema pai e tropecei neste post.

Acho que a melhor solução não é mencionada aqui:

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

ou o que eu precisava:

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

Isso funciona para mim.

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

função simples

function show_theme_author(){

    $theme = wp_get_theme();

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

}
    
por Benn 22.09.2016 / 18:37