Змест маркетынгу

WordPress: як пералічыць даччыныя старонкі з дапамогай кароткага кода

Мы аднавілі іерархію сайтаў для некалькіх з нашых WordPress кліентаў, і адна з рэчаў, якія мы спрабуем зрабіць, гэта эфектыўна арганізаваць інфармацыю. Для гэтага мы часта хочам стварыць галоўную старонку і ўключыць меню, якое аўтаматычна пералічвае старонкі пад ёй. Спіс даччыных старонак або падстаронак.

На жаль, у WordPress няма ўласнай функцыі або магчымасці, таму мы распрацавалі кароткі код для дадання на сайт кліента. Вось як вы можаце выкарыстоўваць кароткі код з усімі яго зменнымі, зададзенымі ў паведамленні або на старонцы 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"]

Разбіўка выкарыстання:

  • ifempty="No child pages found": гэты тэкст будзе адлюстроўвацца, калі няма даступных даччыных старонак.
  • order="ASC": гэта сартуе спіс даччыных старонак у парадку ўзрастання.
  • orderby="title": гэта ўпарадкоўвае даччыныя старонкі па іх назвах.
  • ulclass="custom-ul-class": прымяняе клас CSS «custom-ul-class» да <ul> элемент спісу.
  • liclass="custom-li-class": прымяняе клас CSS «custom-li-class» да кожнага <li> элемент у спісе.
  • aclass="custom-a-class": прымяняе клас CSS «карыстальніцкі клас» да кожнага <a> (спасылка) элемент у спісе.
  • displayimage="yes": Сюды ўваходзіць выява кожнай даччынай старонкі ў спісе.
  • align="aligncenter": Гэта выраўноўвае прадстаўленыя выявы па цэнтры.

Устаўце гэты кароткі код непасрэдна ў вобласць змесціва паведамлення або старонкі WordPress, дзе вы хочаце, каб з'явіўся спіс даччыных старонак. Не забудзьце наладзіць значэнні кожнага атрыбута ў адпаведнасці з дызайнам і структурай вашага сайта WordPress.

Акрамя таго, калі вы хочаце кароткі ўрывак апісваючы кожную старонку, убудова ўключае вытрымкі на старонках, так што вы можаце рэдагаваць гэта змесціва ў наладах старонкі.

Спіс кароткіх кодаў даччыных старонак

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');

функцыя add_shortcode_listchildpages дадае карыстальніцкі кароткі код

No Records

, які вы можаце выкарыстоўваць у паведамленнях або старонках WordPress для адлюстравання спісу даччыных старонак. Вось разбор таго, як працуе код:

  1. Глабальная зменная паведамлення: Функцыя пачынаецца з аб'яўлення глабальнай зменнай $post, які выкарыстоўваецца для доступу да інфармацыі аб бягучай публікацыі або старонцы ў WordPress.
  2. Атрыбуты кароткага кода: shortcode_atts функцыя ўсталёўвае значэнні па змаўчанні для атрыбутаў кароткага кода. Карыстальнікі могуць перавызначыць іх, уставіўшы кароткі код. Атрыбуты ўключаюць:
    • ifempty: Паведамленне для адлюстравання, калі няма даччыных старонак.
    • order: парадак даччыных старонак (ASC або DESC).
    • orderby: Крытэрыі ўпарадкавання даччыных старонак (напрыклад, дата_публікацыі).
    • ulclass: Клас CSS для <ul> элемент.
    • liclass: Клас CSS для <li> элементы.
    • aclass: Клас CSS для <a> (якарныя) элементы.
    • displayimage: Ці паказваць абраны відарыс даччыных старонак.
    • align: Выраўноўванне прадстаўленай выявы.
  3. Аргументы запыту: функцыя наладжвае a WP_Query каб атрымаць усе даччыныя старонкі бягучай старонкі, адсартаваныя ў адпаведнасці з зададзенымі атрыбутамі.
  4. Стварэнне спісу:
    • Калі даччыныя старонкі знойдзены, функцыя стварае неўпарадкаваны спіс HTML (<ul>), з кожнай даччынай старонкай, прадстаўленай элементам спісу (<li>).
    • У кожным пункце спісу функцыя правярае, ці трэба паказваць паказаную выяву на аснове displayimage атрыбутаў.
    • Функцыя таксама стварае спасылку на кожную даччыную старонку з дапамогай <a> і, калі ёсць, дадае фрагмент даччынай старонкі.
  5. Вывад або паведамленне па змаўчанні: Калі даччыных старонак няма, функцыя выводзіць паведамленне, вызначанае ў ifempty атрыбутаў.
  6. Скінуць даныя паведамлення: wp_reset_postdata функцыя скідае запыт WordPress, гарантуючы, што глаб $post аб'ект аднаўляецца да зыходнага галоўнага паведамлення запыту.
  7. Рэгістрацыя па кароткім коду: Нарэшце, ст add_shortcode рэгістры функцый listchildpages як новы кароткі код, звязваючы яго з add_shortcode_listchildpages функцыя, што робіць яго даступным для выкарыстання ў паведамленнях і на старонках.

Гэтая функцыя карысная для дынамічнага пералічэння падстаронак на бацькоўскай старонцы, паляпшэння навігацыі і арганізацыі на сайце WordPress. Я рэкамендаваў бы дадаць яго ў карыстацкі плагін, калі вы хочаце дадаць яго на свой сайт WordPress. Або... вы можаце загрузіць плагін, які я апублікаваў.

Убудова для кароткіх кодаў спісу даччыных старонак

Я, нарэшце, абышоўся з націскам кода ў плагін, каб было прасцей усталяваць і выкарыстоўваць, і Спіс убудоў шорткода даччыных старонак быў ухвалены WordPress сёння! Калі ласка, спампуйце і ўсталюйце яго - калі вам гэта падабаецца, дайце водгук!

Убудова WordPress для пераліку даччыных старонак

Douglas Karr

Douglas Karr з'яўляецца CMO кампаніі OpenINSIGHTS і заснавальнік ст Martech Zone. Дуглас дапамог дзясяткам паспяховых стартапаў MarTech, аказаў дапамогу ў належнай абачлівасці больш чым на 5 мільярдаў долараў у набыцці і інвестыцыях Martech і працягвае дапамагаць кампаніям у рэалізацыі і аўтаматызацыі іх продажаў і маркетынгавых стратэгій. Дуглас - міжнародна прызнаны эксперт і дакладчык па лічбавай трансфармацыі і MarTech. Дуглас таксама з'яўляецца апублікаваным аўтарам даведніка па манекенах і кнігі па бізнес-кіраўніцтву.

Артыкулы па Тэме

Вярнуцца да пачатку кнопкі
блізка

Выяўлена блакіроўка рэкламы

Martech Zone можа даць вам гэты кантэнт бясплатна, таму што мы манетызуем наш сайт за кошт даходаў ад рэкламы, партнёрскіх спасылак і спонсарства. Мы былі б удзячныя, калі б вы выдалілі блакіроўшчык рэкламы пры праглядзе нашага сайта.