it-swarm.asia

إضافة قالب إلى لوحة سمات الصفحة لكل من النشرات والصفحات؟

أرغب في الاحتفاظ بموضوعي الرئيسي باعتباره السمة النشطة ، لكن اسمح للمستخدمين بتحديد تخطيط مختلف قليلاً عبر لوحة "سمات الصفحة/النشر". من الناحية المثالية ، أرغب في تخزين هذا التصميم تحت دليل "styles" الخاص بالموضوع الرئيسي في مجلده الخاص.

MyTheme> styles> My-special-Layout> style.css

لذلك في لوحة ("سمات الصفحة" ، أرى قالبًا يسمى _ ​​"My-special-layout"...

ومع ذلك ، لدي قضيتان ...

  1. لا يبدو لي أن أحصل على مظهر "تابع" في لوحة "سمات الصفحة". (أقوم ببساطة بإضافة مجلد أسفل دليل السمات الرئيسي الخاص بي ووضع ملف style.css هناك يحتوي على القيمة "Template: my_main_theme_directory"). لكنني لا أرى أي قوالب تظهر في لوحة "سمات الصفحة".

  2. لا أستطيع الحصول على لوحة {"سمات الصفحة" في محرر POST. أرغب في السماح بتطبيق القالب على المنشورات وكذلك الصفحات. كيفية الحصول على هذه اللوحة في محرر النشر؟

3
Scott B

أنت لا تفعل المواضيع الطفل الصحيح. السمة الفرعية هي سمة منفصلة يجب على الجميع استخدامها ، ولكنها تعتمد على سمة أخرى لجميع أجزاء القالب التي لا توفرها. ما تريده هو القوالب:

http://codex.wordpress.org/Theme_Development#Defining_Custom_Templates

في الأساس ، ما عليك سوى إنشاء ملف سمة جديد في دليل جذر السمة (على سبيل المثال ، foobar.php) اكتب هذا في الأعلى:

/*
Template Name: Foobar
*/

سيعطيك ذلك قالبًا جديدًا يسمى Foobar (من الواضح ، قم بتغيير Foobar إلى ما تريد. هذا هو الاسم الذي سيظهر في القائمة المنسدلة في صفحة المحرر).

اعتبارًا من الآن ، يدعم WordPress فقط قوالب الصفحات وأنواع المنشورات المخصصة ، وليس المنشورات. هناك طرق لاختراق هذا ، مثل التحقق من نشر المنشور على المنشورات وسحبه في النموذج ، بما في ذلك:

function my_post_templater($template){
  if( !is_single() )
    return $template;
  global $wp_query;
  $c_template = get_post_meta( $wp_query->post->ID, '_wp_page_template', true );
  return empty( $c_template ) ? $template : $c_template;
}

add_filter( 'template_include', 'my_post_templater' );

function give_my_posts_templates(){
  add_post_type_support( 'post', 'page-attributes' );
}

add_action( 'init', 'give_my_posts_templates' );

إذا وضعت هذه الشفرة في ملف functions.php الخاص بالنسق ، فينبغي أن يعمل ذلك (طالما كان لديك بالفعل قوالب مخصصة في مجلد السمات الخاص بك).

لمزيد من المعلومات حول السمات الفرعية ، اقرأ هنا:

http://codex.wordpress.org/Child_Themes

4
John P Bloch