it-swarm-pt.tech

Usando modelos personalizados para tipos de postagem personalizados para a estrutura do tema Genesis?

(Nota do moderador:O título original era "Como posso criar criar e usar um modelo personalizado para tipos de postagem personalizados na estrutura do tema do Genesis?")

Eu estou usando o framework do tema Genesis, com um tema infantil quase completamente 'stock'. Eu tenho o WP Easy Post Types plugin instalado, e criei um tipo de post personalizado ("Membros"). Eu tenho dois campos personalizados criados para usar o tipo de postagem 'membro' (número de telefone e endereço). Estou tentando descobrir como exibir as informações desses campos em dois lugares: example.com/members e example.com/members/bob. O Genesis não suporta o arquivo single-posttype.php típico para criar um modelo para o tipo de postagem personalizado, mas, mesmo que tenha, não cuida do example.com/members. Alguma sugestão sobre como obter as informações desejadas para exibir?

2
Travis Northcutt

Acontece que eu estava errado, Genesis suporta usando o método page_posttype.php de criar um modelo personalizado. Acabou sendo muito simples. Aqui está o conteúdo do meu arquivo page_members.php (localizado na pasta do tema filho):

<?php
/*
Template Name: Members
*/

remove_action('genesis_loop', 'genesis_do_loop');
add_action('genesis_loop', 'custom_loop');
function custom_loop() {

    global $paged;
    $args = array('post_type' => 'members');

    genesis_custom_loop( $args );

}

genesis();
1
Travis Northcutt

Alguém poderia esclarecer o próximo passo deste processo? Eu tenho um tipo de postagem personalizado semelhante em um tema filho do Genesis e preciso alterar o loop em páginas de taxonomia de várias postagens, bem como páginas de postagem personalizadas únicas. Onde o código personalizado para o loop vai neste caso? Obrigado!

0
Adam

Este modelo precisa entrar na pasta do tema filho, não no Gênesis.

Edit:

Você precisará criar manualmente o single- $ posttype.php e adicioná-lo ao tema filho, conforme mencionado acima. Por favor, dê uma olhada em WordPress Template Hierarchy . Escusado será dizer que qualquer coisa que você adicionar a um tema filho irá substituir os arquivos do tema pai.

0
Marna

Veja como Matt Wiebe faz isso em seu plugin "Smarter Custom Post Types":

http://somadesign.ca/projects/smarter-custom-post-types/

A função relevante está aqui:

function my_custom_template_include( $template ) {
    if ( get_query_var('post_type') == 'members' ) {

        if ( is_single() ) {
            if ( $single = locate_template( array( 'members/single.php') ) )
                return $single;
        }
        else { // loop
            return locate_template( array(
                'members/index.php',
                'members.php', 
                'index.php' 
            ));
        }

    }
    return $template;
}

add_filter( 'template_include', 'my_custom_template_include' );
0
John P Bloch