मैं एक बाल विषय पर काम कर रहा हूं, मैं दृढ़ता से मुख्य टेम्पलेट फाइलों को ओवरराइड नहीं करना चाहता हूं ताकि बाल विषय की सादगी बनाए रखने के साथ-साथ समय के साथ कोड और रखरखाव की मात्रा कम हो सके।
लूप में, मूल विषय में index.php टेम्पलेट का उपयोग करता है:
get_template_part( 'content' );
जो content.php में लाएगा , मैं देख रहा हूँ कि यह get_template_part( 'content', get_post_format() );
अलग - अलग टेम्प्लेट जैसे सामग्री- अलग - अलग .php , आदि में लाने के लिए अधिक समान या समान व्यवहार करता है , बिना किसी इंडेक्स . php को बनाए रखने के लिए बच्चे के विषय को अधिलेखित करने के लिए। एकल पंक्ति परिवर्तन के लिए जनक।
get_template_part()
के होते हैं:
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);
}
इसलिए मेरे मामले में एक कार्रवाई उपलब्ध है, जिसे बुलाया जाता है get_template_part_content
मैं इस तरह की कार्रवाई के साथ हुक कर सकता हूं:
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);
}
}
यह स्पष्ट रूप से दोहराव के परिणामस्वरूप होता है, एक मेरे झुके हुए कार्य से, जो वांछित टेम्पलेट प्रदर्शित कर सकता है, और दूसरा सामान्य locate_template
कॉल सेget_template_part()
मैं मुसीबत अधिकार के रूप में एक कुछ बेवकूफ इस तरह के कार्य करके मेरे टेम्पलेट भाग की सेवा के बाद दोहराव के बिना यह पूरा करने के लिए, या समाप्त होने के पृष्ठ के बिना प्रस्तुत करना एक तरह से लग रहा हो रही है break
याexit