Estou trabalhando em um tema filho. Prefiro não substituir os arquivos principais de modelo para manter a simplicidade do tema filho e minimizar a quantidade de código e manutenção ao longo do tempo.
No loop, o modelo index.php no tema pai usa:
get_template_part( 'content' );
que trará o content.php , pretendo que ele se comporte de maneira semelhante get_template_part( 'content', get_post_format() );
ou semelhante a fim de trazer modelos diferentes, como content-apart.php , etc, sem criar um index.php no tema filho para substituir o pai para uma única mudança de linha.
get_template_part()
consiste em:
function get_template_part( $slug, $name = null ) {
do_action( "get_template_part_{$slug}", $slug, $name );
$templates = array();
$name = (string) $name;
if ( '' !== $name )
$templates[] = "{$slug}-{$name}.php";
$templates[] = "{$slug}.php";
locate_template($templates, true, false);
}
Portanto, há uma ação disponível, no meu caso, chamada get_template_part_content
Eu posso me conectar à ação com algo como:
add_action( 'get_template_part_content', 'child_post_styles', 10, 2 );
function child_post_styles ( $slug, $name ) {
if( false == $name ){
$name = get_post_format();
$templates = array();
if ( '' !== $name )
$templates[] = "{$slug}-{$name}.php";
$templates[] = "{$slug}.php";
locate_template($templates, true, false);
}
}
Obviamente, isso resulta em pós-duplicação, uma da minha função conectada, que pode exibir o modelo desejado e a outra da locate_template
chamada normal emget_template_part()
Estou tendo problemas para encontrar uma maneira de fazer isso sem duplicação ou sem renderizar a página final logo após servir a parte do meu modelo, fazendo algo estúpido, como um break
ouexit