„WordPress“: kaip įtraukti antrinius puslapius naudojant trumpąjį kodą
Atkūrėme kelių mūsų svetainių hierarchiją WordPress klientų, o vienas iš dalykų, kuriuos stengiamės padaryti – efektyviai tvarkyti informaciją. Norėdami tai padaryti, dažnai norime sukurti pagrindinį puslapį ir įtraukti meniu, kuriame automatiškai pateikiami po juo esantys puslapiai. Antrinių puslapių arba antrinių puslapių sąrašas.
Deja, „WordPress“ nėra tam būdingos funkcijos ar funkcijos, todėl sukūrėme trumpąjį kodą, kurį galime pridėti prie kliento svetainės. Štai kaip galite naudoti trumpąjį kodą su visais jo kintamaisiais, esančiais „WordPress“ įraše arba puslapyje:
[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"]
Naudojimo suskirstymas:
ifempty="No child pages found"
: Šis tekstas bus rodomas, jei antrinių puslapių nėra.order="ASC"
: antrinių puslapių sąrašas rūšiuojamas didėjančia tvarka.orderby="title"
: antriniai puslapiai išdėstomi pagal jų pavadinimą.ulclass="custom-ul-class"
: Taiko CSS klasę „custom-ul-class“<ul>
sąrašo elementas.liclass="custom-li-class"
: kiekvienam taiko CSS klasę „custom-li-class“.<li>
elementas sąraše.aclass="custom-a-class"
: kiekvienam taiko CSS klasę „custom-a-class“.<a>
(nuoroda) elementą sąraše.displayimage="yes"
: Tai apima kiekvieno antrinio sąrašo puslapio rodomą vaizdą.align="aligncenter"
: Tai sulygiuoja rodomus vaizdus centre.
Įdėkite šį trumpąjį kodą tiesiai į „WordPress“ įrašo arba puslapio, kuriame norite matyti antrinių puslapių sąrašą, turinio sritį. Nepamirškite tinkinti kiekvieno atributo reikšmių, kad jos atitiktų jūsų „WordPress“ svetainės dizainą ir struktūrą.
Be to, jei norite a trumpa ištrauka aprašydamas kiekvieną puslapį, papildinys įgalina puslapių ištraukas, kad galėtumėte redaguoti tą turinį puslapio nustatymuose.
Išvardykite antrinių puslapių trumpąjį kodą
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');
Funkcija add_shortcode_listchildpages
prideda pasirinktinį trumpąjį kodą
No Records
- Visuotinis įrašo kintamasis: funkcija pradedama deklaruojant visuotinį kintamąjį
$post
, kuris naudojamas norint pasiekti informaciją apie dabartinį įrašą ar puslapį „WordPress“. - Trumpojo kodo atributai:
shortcode_atts
funkcija nustato numatytąsias trumpojo kodo atributų reikšmes. Vartotojai gali jų nepaisyti, kai įterpia trumpąjį kodą. Atributai apima:ifempty
: pranešimas, rodomas, jei nėra antrinių puslapių.order
: antrinių puslapių tvarka (ASC arba DESC).orderby
: antrinių puslapių užsakymo kriterijai (pvz., paskelbimo_data).ulclass
: CSS klasė<ul>
elementas.liclass
: CSS klasė<li>
elementai.aclass
: CSS klasė<a>
(inkaro) elementai.displayimage
: ar rodyti antrinių puslapių tipinį vaizdą.align
: rodomo vaizdo lygiavimas.
- Argumentų užklausa: Funkcija nustato a
WP_Query
norėdami gauti visus antrinius dabartinio puslapio puslapius, surūšiuotus pagal nurodytus atributus. - Sąrašo generavimas:
- Jei randami antriniai puslapiai, funkcija sudaro HTML netvarkingą sąrašą (
<ul>
), kiekvienas antrinis puslapis pavaizduotas sąrašo elementu (<li>
). - Kiekviename sąrašo elemente funkcija patikrina, ar rodyti rodomą vaizdą pagal
displayimage
atributas. - Funkcija taip pat sukuria nuorodą į kiekvieną antrinį puslapį naudodama
<a>
žymą ir, jei yra, prideda antrinio puslapio ištrauką.
- Jei randami antriniai puslapiai, funkcija sudaro HTML netvarkingą sąrašą (
- Išvestis arba numatytasis pranešimas: Jei antrinių puslapių nėra, funkcija išveda pranešimą, nurodytą
ifempty
atributas. - Iš naujo nustatyti įrašo duomenis:
wp_reset_postdata
funkcija iš naujo nustato „WordPress“ užklausą, užtikrindama, kad pasaulinė$post
objektas atkuriamas į pradinį pagrindinės užklausos įrašą. - Trumpojo kodo registracija: Galiausiai,
add_shortcode
funkcijų registrailistchildpages
kaip naują trumpąjį kodą, susiejant jį suadd_shortcode_listchildpages
funkcija, todėl ją galima naudoti įrašuose ir puslapiuose.
Ši funkcija naudinga dinamiškai įtraukiant antrinius puslapius pirminiame puslapyje, pagerinant naršymą ir tvarkymą „WordPress“ svetainėje. Rekomenduočiau jį pridėti prie tinkinto papildinio, jei norite jį įtraukti į savo „WordPress“ svetainę. Arba... galite atsisiųsti mano paskelbtą papildinį.
Sąrašas antrinių puslapių trumpojo kodo papildinys
Aš pagaliau turėjau įstumti kodą į įskiepį, kad būtų lengviau įdiegti ir naudoti, ir Išvardykite antrinių puslapių trumpojo kodo papildinį šiandien patvirtino WordPress! Atsisiųskite ir įdiekite – jei patiko, pateikite atsiliepimą!