تعيين حدود النشر والمحتوى للصفحات الرئيسية والمدونة والأرشيف

نشرت: 2013-08-15

في هذا البرنامج التعليمي ، سنلقي نظرة على إعدادات Genesis المضمنة التي يمكنك استخدامها للتحكم في حدود المحتوى في أرشيفاتك وقالب صفحة المدونة.

سنأخذ في الاعتبار أيضًا إعدادات قراءة WordPress وكيفية تأثيرها على إعدادات Genesis.

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

  1. صفحة المدونة
  2. أرشيف
  3. الصفحة الرئيسية
  4. حلقة الشبكة
  5. أنواع المنشورات المخصصة

سنستخدم سمة الطفل Eleven40 Pro الجديدة من StudioPress بالإضافة إلى نموذج Genesis 2.0 الفرعي الذي لا يتضمن أي حلقة شبكية أو عناصر واجهة مستخدم للصفحة الرئيسية خارج الصندوق.

تتضمن سمة Eleven40 Pro جنبًا إلى جنب مع العديد من سمات StudioPress الأخرى مثل سمة Balance حلقة شبكة مخصصة في ملف home.php.

إعدادات القراءة في WordPress

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

  • صفحة قوائم المدونة
  • صفحات الأرشيف بما في ذلك صفحات المؤلف والمدونة والفئة والبحث والعلامات

إعدادات القراءة wp

تحدد إعدادات القراءة عدد المنشورات التي يتم عرضها على جميع صفحات الأرشيف والصفحة الرئيسية إذا تركت في الإعدادات الافتراضية كما ترى في لقطة الشاشة أعلاه.

لا تتحكم إعدادات القراءة في صفحة المدونة الخاصة بك حيث يتم التحكم في ذلك من خلال إعدادات قالب صفحة المدونة التي يتضمنها Genesis ضمن Genesis> Theme settings:

جينيسيس قالب صفحة المدونة

دعنا نلقي نظرة على مثال على ذلك: إذا تم تعيين إعدادات القراءة الخاصة بك لعرض 5 منشورات ، فستعرض صفحتك الرئيسية وجميع الأرشيفات 5 منشورات ، لكن صفحة المدونة الخاصة بك ستعرض كل ما قمت بتعيينه لعرضه.

على الرغم من أنه قد يتم تعيين إعدادات القراءة على: تظهر صفحات المدونة 5 على الأكثر ، فإن هذا ينطبق فقط على الصفحة الرئيسية وليس عند استخدام صفحة مخصصة ثابتة مع قالب صفحة المدونة لصفحة المدونة المخصصة الخاصة بك.

يتم التحكم في هذه الإعدادات من خلال إعدادات قالب صفحة مدونة genesis كما هو موضح في لقطة الشاشة أعلاه.

تخصيص حد نشر الصفحة الرئيسية الافتراضية

إذا كنت تريد أن تعرض أرشيفاتك الرقم المحدد في إعدادات القراءة ولكن تعرض عددًا مختلفًا من المنشورات على صفحتك الرئيسية ، فستحتاج إلى استخدام بعض التعليمات البرمجية المخصصة في ملف السمات التابع لـ function.php:

 add_action( 'pre_get_posts', 'change_posts_number_home_page' ); function change_posts_number_home_page( $query ) { if ($query->is_home() &amp;&amp; $query->is_main_query() ) { $query->set( 'posts_per_page', 5 ); <pre><code>return $query; } </code></pre> }

لن يؤثر الكود أعلاه على عدد المشاركات المعروضة في الأرشيف الخاص بك.

تغيير عدد المنشورات المعروضة في المحفوظات

يمكنك أيضًا استخدام هذا الرمز لتغيير عدد المنشورات التي يتم عرضها في أرشيفات مختلفة مثل الفئة وصفحات أرشيف المؤلف دون التأثير على إعدادات القراءة التي تتحكم في الآخرين:

 add_action( 'pre_get_posts', 'change_number_posts_per_category' ); function change_number_posts_per_category( $query ) { <pre><code>if ( is_category('29') ) { $query-&gt;set( 'posts_per_page', 1 ); return $query; </code></pre> }}

تخصيص حد مشاركة حلقة الشبكة على الصفحة الرئيسية

إذا كان قالبك يتضمن حلقة شبكة في ملف home.php ، فيمكنك ببساطة التحكم في عدد المنشورات المميزة ذات العرض الكامل وعدد مشاركات حلقة الشبكة التي يتم عرضها على صفحتك الرئيسية.

علاوة على ذلك ، يمكنك أيضًا التحكم في حد المحتوى لكل من المنشورات المميزة والمشاركات المعروضة في الشبكة فقط على الصفحة الرئيسية حيث يتم تضمين الرمز في ملف home.php.

جميع الإعدادات موجودة في كود حلقة شبكة ملف home.php:

 &lt;?php remove_action( 'genesis_loop', 'genesis_do_loop' ); add_action( 'genesis_loop', 'eleven40_grid_loop_helper' ); /** Add support for Genesis Grid Loop */ function eleven40_grid_loop_helper() { <pre><code>if ( function_exists( 'genesis_grid_loop' ) ) { genesis_grid_loop( array( 'features' =&gt; 1, 'feature_image_size' =&gt; 0, 'feature_image_class' =&gt; 'alignleft post-image', 'feature_content_limit' =&gt; 0, 'grid_image_size' =&gt; 'grid-featured', 'grid_image_class' =&gt; 'grid-featured', 'grid_content_limit' =&gt; 250, 'more' =&gt; __( '[Continue reading]', 'eleven40' ), 'posts_per_page' =&gt; 5, ) ); } else { genesis_standard_loop(); } </code></pre> } genesis();

تم تعيين كود PHP أعلاه لعرض 5 مشاركات. بدءًا من منشور مميز واحد يعرض عرضًا كاملاً للمحتوى وحدًا غير محدود من المحتوى حيث تم ضبطه على 0 بحيث يعرض محتوى المنشور الكامل للمنشور الأول.

ثم يعرض 4 منشورات في شبكة مع كل مجموعة بحد محتوى 250 مع صورة مميزة إذا قمت بتحميل واحدة لكل منشور وقمت بتعيينها كصورة مميزة.

تتم الكتابة فوق هذه الإعدادات بواسطة إعدادات القراءة مما يعني أنه إذا تم تعيين إعدادات القراءة الخاصة بك لعرض 20 مشاركة ، فهذا ما ستعرضه صفحتك الرئيسية بغض النظر عن الإعدادات الموجودة في حلقة الشبكة أعلاه.

لتخصيص هذا ، يمكنك استخدام كود PHP أدناه في ملف function.php الخاص بالمواضيع الفرعية للكتابة فوق إعدادات القراءة الخاصة بك في حلقة الشبكة الخاصة بك ، وبالتالي استخدام إعدادات القراءات للتحكم في عدد المشاركات التي يتم عرضها على جميع صفحات الأرشيف الخاصة بك.

تغيير حد مشاركات تكرار الشبكة

 add_action( 'pre_get_posts', 'change_num_posts_in_grid' ); function change_num_posts_in_grid( $query ) { global $wp_the_query; if( $query->is_main_query() &amp;&amp; is_home() ) { $query->set( 'posts_per_page', '5' ); } }

يمكن أيضًا تعديل الكود أعلاه للعمل على أي صفحات أخرى باستخدام حلقة الشبكة ببساطة عن طريق تغيير العلامة الشرطية في الكود من is_home () إلى شيء آخر.

الصفحات الفرعية من الصفحة الرئيسية

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

 add_action( 'pre_get_posts', 'change_num_posts_in_grid' ); function change_num_posts_in_grid( $query ) { global $wp_the_query; if( $query->is_main_query() &amp;&amp; is_home() &amp;&amp; is_paged() ) { $query->set( 'posts_per_page', '5' ); } }
ملاحظة : إذا كانت صفحتك الرئيسية تستخدم شبكة ، فسيتم أيضًا عرض أرشيفات الصفحات الفرعية هذه في شبكة.

تعرف على المزيد حول استخدام حلقة Genesis Grid Loop لتخطيطات ما بعد المنزل المختلفة.

تغيير حد المحتوى لفئة معينة

يمكنك أيضًا الكتابة فوق إعدادات قراءة WordPress وتخصيص حد المقتطفات على أي أرشيف بما في ذلك أرشيفات الصفحة الرئيسية والمؤلف والمدونة والفئة والبحث والعلامة.

 add_filter('excerpt_length', 'specific_category_excerpt_length'); function specific_category_excerpt_length($length) { if(is_category('29') ) { return 20; } }

سيغير الكود أعلاه طول المقتطف في صفحة الفئة بمعرف 29 إلى حد 20 كلمة.

ملاحظة: لا يعمل الكود أعلاه إلا عندما تقوم بتعيين Genesis> Theme Settings> Content Archives> Display Post Post Excerpts ولن يعمل إذا كنت تستخدم إعداد عرض محتوى المنشور.

أرشيفات المحتوى - عرض مقتطفات ما بعد

يمكنك أيضًا إضافة علامات تنسيق HTML تم تجريدها من المقتطفات بواسطة WordPress.

علاوة على ذلك ، يمكنك استخدام هذا الرمز أدناه للتحكم في حد المحتوى للمقتطفات في أرشيفات معينة ، ثم تعيين الآخرين لعرض حد معين. ملاحظة: يجب تعيين Genesis> Theme Settings> Content Archives لعرض مقتطفات وليس حد المحتوى.

 add_filter('excerpt_length', 'specific_category_excerpt_length'); function specific_category_excerpt_length($length) { if(in_category('web-design') ) { return 20; } else { return 500; } }

يعرض الكود أعلاه حد المحتوى للمقتطفات في فئة تصميم الويب 20 وتعرض جميع المحفوظات الأخرى حدًا قدره 500.

إليك بعض أكواد PHP التي تتضمن مجموعة من الفئات المتعددة:

 add_filter('excerpt_length', 'specific_category_excerpt_length'); function specific_category_excerpt_length($length) { if(in_category(array( 153,154,156 ) ) ) { return 100; } else { return 300; } }

يستخدم هذا الرمز معرف الفئة ويعرض حد المحتوى 100 لفئات 3. تعرض كافة المحفوظات الأخرى حدًا يبلغ 300.

تعرف على المزيد حول تخصيص المقتطفات.

نوع المنشور المخصص (CPT)

إليك الكود الذي يحدد عدد المنشورات في نوع المنشور المخصص التي يتم عرضها على صفحة أرشيف CPT:

 add_action( 'pre_get_posts', 'cpt_archive_items_limit' ); function cpt_archive_items_limit( $query ) { <pre><code>if( $query-&gt;is_main_query() &amp;&amp; !is_admin() &amp;&amp; is_post_type_archive( 'your-cpt' ) ) { $query-&gt;set( 'posts_per_page', '3' ); } </code></pre> }

ببساطة استبدل cpt في الكود أعلاه باسم نوع المنشور المخصص الخاص بك.

استنتاج

يمكنك أن ترى بنفسك أن استخدام خطافات وفلاتر WordPress يعمل أيضًا بشكل مثالي في Genesis.

حلول مماثلة

  • الإعداد لعرض مقتطفات الإدخال في أي قالب صفحة أرشيف
  • رمز لتعيين حد أرشيف محتوى Genesis
  • عرض محتوى المنشور الكامل أو مقتطفات في صفحات أرشيف محددة
  • تخصيص صفحات الأرشيف بشروط باستخدام الحصول على المنشورات مسبقًا
  • اعرض مقتطفات على صفحة المدونة والمحتوى الكامل في أرشيفات أخرى في سفر التكوين