it-swarm.asia

كيفية جعل صفحة الفئة هي الصفحة الرئيسية للمدونة؟

أريد استخدام صفحة فئة كصفحة رئيسية لمدونتي. هل هذا ممكن وكيف يمكنني أن أفعل ذلك؟ لقد جربته باستخدام قاعدة إعادة كتابة htacces لكن ذلك لم ينجح.

3
2ndkauboy

تحديث

القضاء على جميع الحلول الأخرى ، هناك واحد على الأقل متبقي: template_redirect :

function wpse121308_redirect_homepage() {
    // Check for blog posts index
    // NOT site front page, 
    // which would be is_front_page()
    if ( is_home() ) {
        wp_redirect( get_category_link( $id ) );
        exit();
    }
}
add_action( 'template_redirect', 'wpse121308_redirect_homepage' );

سوف تحتاج إلى اجتياز الفئة المناسبة $id ، بالطبع.

تتمثل فائدة إعادة التوجيه في template_redirect في أنك تحصل على تحميل قالب واحد فقط ، بدلاً من إعادة توجيه ثانية بعد يتم تحميل القالب.

لاحظ أنه يمكنك ربط العملية حتى قبل ذلك ، كما هو الحال في pre_get_posts ، مما يحتمل أن يحفظ طلب استعلام بأكمله:

add_action( 'pre_get_posts', 'wpse121308_redirect_homepage' );

الجواب الأصلي

إذا كان كل ما تريد فعله هو عرض فئة معينة في فهرس منشورات المدونة ، يمكنك إنجاز ذلك باستخدام مرشح بسيط للرمز الرئيسي $wp_query في pre_get_posts:

function wpse1862_pre_get_posts( $query ) {
    // Only modify the main query
    // on the blog posts index page
    if ( is_home() && $query->is_main_query() ) {
        $query->set( 'category_name', 'category-slug-here' );
    }
}
add_action( 'pre_get_posts', 'wpse1862_pre_get_posts' );

إذا كنت تريد تعديل القالب ، فيمكنك القيام بأحد أمرين:

  1. قم بإنشاء home.php باستخدام الترميز المطلوب
  2. استخدم template_redirect أو home_template لإجبار WordPress على تضمين قالب category.php الخاص بك.

تصحيح

وإذا كنت تريد أن يبدو عنوان URL لمؤشر منشورات المدونة:

www.example.com/main

بعد ذلك ، يمكنك استخدام الصفحة الأمامية الثابتة ، وتعيين صفحة ثابتة تسمى "الرئيسي" مثل فهرس مشاركات المدونة.

وإذا كان هذا هو هدفك:

أريد حقًا إعادة التوجيه. أريد أن تعيد الصفحة الرئيسية (http://example.com/) إعادة التوجيه إلى صفحة الفئة (التي تشبه http://example.com/main/)

... ثم الإجابة المقبولة صحيحة لحالة الاستخدام الخاصة بك.

10
Chip Bennett

لا يمكن أن تكون صفحة الفئة صفحة رئيسية (لا تعمل بهذه الطريقة).

هناك خياران آخران:

  1. قصر الصفحة الرئيسية على المشاركات من فئة معينة (أغلق لكن ليس نفس الشيء).
  2. إعادة توجيه الصفحة الرئيسية إلى صفحة الفئة الفعلية.

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

<?php
wp_redirect( 'http://www.yoursite.com/category/category-slug' );
?>

ربما هناك طريقة أكثر رقة للقيام بذلك مع السنانير ، ولكن لا شيء يمكنني التفكير في الآن.

2
Rarst

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

صفحة جديدة:

/* Template Name: New Homepage by Cat */

<?php query_posts('cat_id'=>'3');?>
<--insert loop-->
2
Robbie Guilfoyle

إذا كنت ترغب في إعادة التوجيه إلى فئة معينة ، مثل معرف الفئة 3 ، فقم بنسخ المحتوى من category.php وقم بعمل قالب آخر مثل category-3.php بعد ذلك

    * Template Name: New Homepage by Cat 3*/

    <?php query_posts('cat_id'=>'3');?>
    <--insert loop-->

في قراءة وورد ، نحتاج إلى تعيين الصفحة الرئيسية كصفحة منشورات وللصفحة الرئيسية ، حدد الصفحة الرئيسية الجديدة بحلول Cat 3 كقالب.

0
Kishore Sahoo

فقط أضف عامل تصفية فئة إلى استعلام index.php في القالب الخاص بك. البسطاء

0
Mild Fuzz