it-swarm.asia

Genesis Tema Çerçevesi için Özel Yazı Türleri için Özel Şablonlar Kullanma?

( Moderatörün notu: Asıl başlık "Genesis tema çerçevesinde özel yazı türleri için nasıl özel bir şablon oluşturabilir ve kullanabilirim?")

Neredeyse tamamen “hisse senedi” olan bir çocuk temasıyla Genesis tema çerçevesini kullanıyorum. WP Kolay Gönderi Türleri eklentisi yüklü ve bir özel gönderi türü ("Üyeler") oluşturdum. 'Üye' posta türü için kullanılmak üzere oluşturulan iki özel alanım var (telefon numarası ve adres). Bu alanlardaki bilgilerin iki yerde nasıl görüntüleneceğini bulmaya çalışıyorum: example.com/members ve example.com/members/bob. Genesis, özel yazı tipi için bir şablon oluşturmak için tipik single-posttype.php dosyasını desteklemez, ancak yaptıysa bile, bu example.com/members ile ilgilenmez. İstenilen bilgiyi görüntülemek için herhangi bir öneriniz var mı?

2
Travis Northcutt

Yanıldığımı ortaya koydu, Genesis özel bir şablon oluşturma page_posttype.php yöntemini kullanıyor. Çok basit olduğu ortaya çıktı. İşte page_members.php dosyamın içeriği (alt tema klasöründe bulunur):

<?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

Birisi bu sürecin bir sonraki adımını netleştirebilir mi? Genesis çocuk temasında benzer bir özel gönderi türüne sahibim ve çoklu post taksonomisi sayfalarındaki ve tek özel gönderi sayfalarındaki döngüleri değiştirmem gerekiyor. Bu durumda döngünün özel kodu nereye gidiyor? Teşekkürler!

0
Adam

Bu şablonun Yaratılış'a değil, alt tema klasörüne girmesi gerekiyor.

Düzenle:

Single- $ posttype.php dosyasını elle oluşturmanız ve yukarıda belirtildiği gibi alt temaya eklemeniz gerekir. Lütfen WordPress Template Hiyerarşisi 'ye bakınız. Bir alt temaya eklediğiniz herhangi bir şeyin üst tema dosyalarını geçersiz kılacağını söylemeden devam eder.

0
Marna

Matt Wiebe'nin "Akıllı Özel Mesaj Türleri" eklentisinde nasıl yaptığını inceleyin:

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

İlgili fonksiyon burada:

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