it-swarm.asia

إستراتيجية للتعامل مع الصفحات الهرمية ذات المحتوى الأصل الفارغ

لنفترض أن لدي بنية الصفحة التالية

/about-us (used as a parent holder only)
/about-us/history (real page)
/about-us/team (real page)
/about-us/industry (real page)

لا يوجد محتوى في الصفحة " about-us " ، لكنه ضروري لغرضين

  1. السماح بالهيكل الهرمي في عنوان url
  2. السماح الهيكل الهرمي في القائمة

لكن إحدى المشكلات هي عندما يكتب المستخدم "/about-us " ، ثم سيدخلون صفحة فارغة مع محتوى غير.

لذلك ، هل يجب على المستخدم إعادة التوجيه التلقائي ليقول "/about-us/history " افتراضيًا؟

أم هي الطريقة الشائعة للتعامل مع الصفحات الهرمية؟

3
Yoga

أنا أستخدم استراتيجيتين هنا ...

1) إعادة توجيه بسيطة للطفل الأول (باستخدام ترتيب القائمة) page-redirect.php

<?php
/*
 * Template Name: Redirector
 * Description: Empty Holder (redirect page) 
 */


    $rp = new WP_Query(array(
        'post_parent'   => get_the_id(),
        'post_type'     => 'page',
        'order'         => 'asc',
        'orderby'       => 'menu_order'
    ));

    if ($rp->have_posts())
        while ( $rp->have_posts() ) { 
            $rp->the_post(); 
            wp_redirect(get_permalink(get_the_id()));
            exit;
        }   
    wp_redirect(dirname(home_url($wp->request)));
    exit;

2) إنشاء قائمة على أحد الوالدين مع روابط للأطفال (على سبيل المثال - http://unu.edu/about )

4
Butuzov

قم بإنشاء ملف جديد يسمى page-parent.php وأدخل الرمز التالي في ملفك الجديد:

<?php
/*
 * Template Name: Parent Menu
 * Description: Redirects empty parent page to first child page
 */

# Parent menu goes to first child page
# askwpgirl.com/redirect-parent-page-first-child-page-wordpress
$child_page = get_pages( "child_of=" . $post->ID . "&sort_column=menu_order" );
if ( $child_page ) {
    $parent_page = $child_page[0];
    wp_redirect( get_permalink( $parent_page->ID ) );
}

بعد ذلك ، ضع page-parent.php في الدليل الجذر لسمة طفلك ، على سبيل المثال:

/wp-content/themes/child-theme

بعد ذلك ، سترى القالب الجديد Parent Menu في الخيار Template .

قم بحفظ القائمة الأصل بالقالب الجديد وكلما حاولت الوصول إلى الصفحة الرئيسية مباشرةً ، سيتم إعادة التوجيه إلى الصفحة الفرعية الأولى.

0
Ethan Jinks O'Sullivan