Utilisation de modèles personnalisés pour les types de poste personnalisés pour le Cadre Thème Genesis?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/456

Question

( Note du modérateur: Le titre original était "Comment puis-je créer créer et utiliser un modèle personnalisé pour les types de poste personnalisé dans le cadre de thème Genesis")

J'utilise le cadre de thème Genesis, avec un thème enfant presque complètement « stock ». Je le plugin WP facile Types de poste installé, et ont créé un poste personnalisé type ( "Membres"). J'ai deux champs personnalisés créés à utiliser pour le type poste « membre » (numéro de téléphone et adresse). J'essaie de comprendre comment afficher les informations de ces champs en deux endroits: example.com/members et example.com/members/bob. Genesis ne supporte pas le fichier single-posttype.php typique pour créer un modèle pour le type de poste personnalisé, mais même si elle l'a fait, cela ne prend pas en charge example.com/members. Toutes les suggestions sur la façon d'obtenir les informations souhaitées à l'affichage?

Était-ce utile?

La solution

Il se trouve que je me trompais, Genesis pris en charge en utilisant la méthode page_posttype.php de créer un modèle personnalisé. Il est avéré être très simple. Voici le contenu de mon fichier page_members.php (situé dans le dossier thématique de l'enfant):

<?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();

Autres conseils

Jetez un oeil à la façon dont Matt Wiebe plug-in, il le fait dans ses "Types Smarter personnalisés Post":

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

La fonction pertinente est:

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' );

Quelqu'un pourrait-il clarifier la prochaine étape de ce processus? J'ai un type de poste personnalisé similaire dans un thème enfant Genèse et le besoin de changer la boucle sur les pages de taxonomie multi-poste, ainsi que les pages de messages personnalisés unique. Où le code personnalisé pour la boucle aller dans ce cas? Merci!

Ce besoin de modèle pour aller dans le dossier du thème de l'enfant, cependant, pas la Genèse.

Modifier

Vous devez créer manuellement le posttype.php de $ unique et l'ajouter au thème de l'enfant comme il est indiqué ci-dessus. S'il vous plaît jeter un oeil à WordPress modèle Hiérarchie . Il va sans dire tout ce que vous ajoutez à un thème enfant remplace les fichiers thème parent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top