it-swarm.asia

باستخدام قوالب مخصصة لأنواع النشر المخصصة لإطار عمل Genesis Theme؟

(ملاحظة المشرف:العنوان الأصلي كان "كيف يمكنني إنشاء إنشاء واستخدام قالب مخصص لأنواع المنشورات المخصصة في إطار عمل Genesis؟")

أنا أستخدم إطار عمل Genesis ، مع نسق فرعي "بالكامل" تقريبًا. لقد قمت بتثبيت WP أنواع النشر السهل المكون الإضافي ، وأنشأت نوعًا واحدًا مخصصًا للنشر ("الأعضاء"). لدي حقلان مخصصان تم إنشاؤهما للاستخدام لنوع النشر "العضو" (رقم الهاتف وعنوانه). أحاول معرفة كيفية عرض المعلومات من هذه الحقول في مكانين: example.com/members و example.com/members/bob. Genesis لا يدعم ملف single-posttype.php النموذجي لإنشاء قالب لنوع المنشور المخصص ، لكن حتى لو كان كذلك ، فهذا لا يعنى example.com/members. أي اقتراحات حول كيفية الحصول على المعلومات المطلوبة لعرضها؟

2
Travis Northcutt

تبين أنني كنت مخطئًا ، يدعم Genesis استخدام طريقة page_posttype.php لإنشاء قالب مخصص. اتضح أن تكون بسيطة جدا. إليك محتويات ملف page_members.php الخاص بي (الموجود في مجلد السمة الفرعية):

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

هل يمكن لشخص توضيح الخطوة التالية من هذه العملية؟ لديّ نوع منشور مخصص مماثل في سمة تابعة لـ Genesis وأحتاج إلى تغيير الحلقة في صفحات التصنيف متعدد الوظائف بالإضافة إلى صفحات منشورات مخصصة واحدة. أين يذهب رمز مخصص للحلقة في هذه الحالة؟ شكر!

0
Adam

يجب أن ينتقل هذا القالب إلى مجلد السمة الفرعية ، وليس إلى سفر التكوين.

تحرير:

ستحتاج إلى إنشاء posttype.php أحادي $ يدويًا وإضافته إلى السمة التابعة كما هو مذكور أعلاه. يرجى إلقاء نظرة على وورد قالب قالب التسلسل الهرمي . غني عن القول أن أي شيء تضيفه إلى سمة فرعية سوف يتجاوز ملفات السمات الرئيسية.

0
Marna

ألقِ نظرة على كيفية عمل Matt Wiebe في المكون الإضافي "أذكى أنواع النشر":

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

الوظيفة ذات الصلة هنا:

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