Nilalaman Marketing

WordPress: Paano Maglista ng Mga Pahina ng Bata Gamit ang Isang Shortcode

Muli naming itinayo ang hierarchy ng mga site para sa ilan sa aming WordPress mga kliyente, at isa sa mga bagay na sinusubukan naming gawin ay maayos na ayusin ang impormasyon. Para magawa ito, madalas naming gustong gumawa ng master page at magsama ng menu na awtomatikong naglilista ng mga page sa ibaba nito. Isang listahan ng mga child page, o mga subpage.

Sa kasamaang palad, walang likas na function o feature para gawin ito sa loob ng WordPress, kaya bumuo kami ng shortcode upang idagdag sa site ng kliyente. Narito kung paano mo magagamit ang shortcode kasama ang lahat ng mga variable nito na na-populate sa loob ng isang post o pahina ng WordPress:

[listchildpages ifempty="No child pages found" order="ASC" orderby="title" ulclass="custom-ul-class" liclass="custom-li-class" aclass="custom-a-class" displayimage="yes" align="aligncenter"]

Breakdown ng Paggamit:

  • ifempty="No child pages found": Ipapakita ang text na ito kung walang available na child page.
  • order="ASC": Inuuri nito ang listahan ng mga child page sa pataas na pagkakasunud-sunod.
  • orderby="title": Inuutusan nito ang mga pahina ng bata ayon sa kanilang pamagat.
  • ulclass="custom-ul-class": Inilalapat ang CSS class na “custom-ul-class” sa <ul> elemento ng listahan.
  • liclass="custom-li-class": Inilalapat ang CSS class na "custom-li-class" sa bawat isa <li> elemento sa listahan.
  • aclass="custom-a-class": Inilalapat ang CSS class na "custom-a-class" sa bawat isa <a> (link) na elemento sa listahan.
  • displayimage="yes": Kabilang dito ang itinatampok na larawan ng bawat pahina ng bata sa listahan.
  • align="aligncenter": Inihanay nito ang mga itinatampok na larawan sa gitna.

Direktang ilagay ang shortcode na ito sa content area ng isang WordPress post o page kung saan mo gustong lumabas ang listahan ng mga child page. Tandaan na i-customize ang mga halaga ng bawat katangian upang magkasya sa disenyo at istraktura ng iyong WordPress site.

Bilang karagdagan, kung nais mo ang isang maikling sipi na naglalarawan sa bawat pahina, nagbibigay ang plugin ng mga sipi sa mga pahina upang mai-edit mo ang nilalamang iyon sa mga setting ng pahina.

Maglista ng Shortcode ng Mga Pahina ng Bata

function add_shortcode_listchildpages($atts, $content = "") { 
    global $post; 
    $string = '';

    $atts = shortcode_atts(array(
        'ifempty' => '<p>No Records</p>',
        'order' => 'DESC',
        'orderby' => 'publish_date',
        'ulclass' => '',
        'liclass' => '',
        'aclass' => '',
        'displayimage' => 'no',
        'align' => 'alignleft'
    ), $atts, 'listchildpages');

    $args = array(
        'post_type' => 'page',
        'posts_per_page' => -1,
        'post_parent' => $post->ID,
        'orderby' => $atts['orderby'],
        'order' => $atts['order']
    );

    $parent = new WP_Query($args);

    if ($parent->have_posts()) {
        $string .= $content.'<ul class="'.$atts['ulclass'].'">';
        while ($parent->have_posts()) : $parent->the_post();
            $string .= '<li class="'.$atts['liclass'].'">';
            $true = array("y", "yes", "t", "true");
            $showimage = strtolower($atts['displayimage']);
            if (in_array($showimage, $true)) {
                if (has_post_thumbnail($post->ID)) {
                    $image_attributes = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail'); 
                    $string .= '<a class="'.$atts['aclass'].'" href="'.get_permalink().'" title="'.get_the_title().'">';
                    $string .= '<img src="'.$image_attributes[0].'" width="'.$image_attributes[1].'" height="'.$image_attributes[2].'" alt="'.get_the_title().'" class="'.$atts['align'].'" /></a>';
                }
            }
            $string .= '<a class="'.$atts['aclass'].'" href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a>';
            if (has_excerpt($post->ID)) {
                $string .= ' - '.get_the_excerpt();
            }
            $string .= '</li>';
        endwhile;
        $string .= '</ul>';
    } else {
        $string = $atts['ifempty'];
    }

    wp_reset_postdata();

    return $string;
}
add_shortcode('listchildpages', 'add_shortcode_listchildpages');

Ang function na add_shortcode_listchildpages nagdadagdag ng custom na shortcode

No Records

, na magagamit mo sa loob ng mga post o page ng WordPress para magpakita ng listahan ng mga child page. Narito ang isang breakdown kung paano gumagana ang code:

  1. Variable ng Global Post: Nagsisimula ang function sa pamamagitan ng pagdedeklara ng global variable $post, na ginagamit upang ma-access ang impormasyon tungkol sa kasalukuyang post o pahina sa loob ng WordPress.
  2. Mga Katangian ng Shortcode: Ang shortcode_atts function ay nagse-set up ng mga default na halaga para sa mga katangian ng shortcode. Maaaring i-override ito ng mga user kapag inilagay nila ang shortcode. Kasama sa mga katangian ang:
    • ifempty: Mensahe na ipapakita kung walang child page.
    • order: Pagkakasunod-sunod ng mga child page (ASC o DESC).
    • orderby: Pamantayan para sa pag-order ng mga child page (hal., publish_date).
    • ulclass: CSS class para sa <ul> elemento.
    • liclass: CSS class para sa <li> mga elemento.
    • aclass: CSS class para sa <a> (angkla) mga elemento.
    • displayimage: Kung ipapakita ang itinatampok na larawan ng mga child page.
    • align: Pag-align ng itinatampok na larawan.
  3. Mga Pangangatwiran sa Pagtatanong: Nagse-set up ang function a WP_Query upang makuha ang lahat ng mga child page ng kasalukuyang page, na pinagsunod-sunod ayon sa mga tinukoy na katangian.
  4. Pagbuo ng Listahan:
    • Kung natagpuan ang mga child page, ang function ay gagawa ng isang HTML na hindi nakaayos na listahan (<ul>), na ang bawat pahina ng bata ay kinakatawan ng isang item sa listahan (<li>).
    • Sa loob ng bawat item sa listahan, sinusuri ng function kung ipapakita ang itinatampok na imahe batay sa displayimage katangian.
    • Lumilikha din ang function ng isang link sa bawat page ng bata gamit ang <a> tag, at kung available, idagdag ang sipi ng page ng bata.
  5. Output o Default na Mensahe: Kung walang mga child page, ilalabas ng function ang mensaheng tinukoy ng ifempty katangian.
  6. I-reset ang Data ng Post: Ang wp_reset_postdata function na nire-reset ang query ng WordPress, na tinitiyak na ang global $post Ang object ay naibalik sa orihinal na post ng pangunahing query.
  7. Pagpaparehistro ng Shortcode: Sa wakas, ang add_shortcode mga rehistro ng function listchildpages bilang isang bagong shortcode, iniuugnay ito sa add_shortcode_listchildpages function, ginagawa itong magagamit para magamit sa mga post at pahina.

Ang function na ito ay kapaki-pakinabang para sa dynamic na paglilista ng mga subpage sa isang parent page, pagpapahusay ng navigation at organisasyon sa loob ng isang WordPress site. Inirerekomenda kong idagdag ito sa isang custom na plugin kung gusto mong idagdag ito sa iyong WordPress site. O… maaari mong i-download ang plugin na na-publish ko.

Listahan ng Mga Pahina ng Bata Shortcode Plugin

Sa wakas nakuha ko ang paligid upang itulak ang code sa isang plugin upang gawing mas madali itong mai-install at magamit, at ang Ilista ang plugin ng Mga Pahina ng Shortcode ng Mga Pahina ng Bata ay naaprubahan ng WordPress ngayon! Mangyaring i-download at i-install ito – kung gusto mo ito, magbigay ng pagsusuri!

WordPress Plugin para sa Listahan ng Mga Pahina ng Bata

Douglas Karr

Douglas Karr ay CMO ng OpenINSIGHTS at ang nagtatag ng Martech Zone. Nakatulong si Douglas sa dose-dosenang matagumpay na mga startup ng MarTech, tumulong sa angkop na pagsusumikap ng higit sa $5 bil sa mga pagkuha at pamumuhunan ng Martech, at patuloy na tinutulungan ang mga kumpanya sa pagpapatupad at pag-automate ng kanilang mga diskarte sa pagbebenta at marketing. Si Douglas ay isang kinikilalang internasyonal na digital na pagbabago at eksperto at tagapagsalita ng MarTech. Si Douglas ay isa ring nai-publish na may-akda ng isang Dummie's guide at isang business leadership book.

Kaugnay na Artikulo

Bumalik sa tuktok na pindutan
Pagsasara

Natukoy ang Adblock

Martech Zone ay kayang ibigay sa iyo ang nilalamang ito nang walang bayad dahil pinagkakakitaan namin ang aming site sa pamamagitan ng kita ng ad, mga link na kaakibat, at mga sponsorship. Ikinalulugod namin kung aalisin mo ang iyong ad blocker habang tinitingnan mo ang aming site.