WordPress: Kiel Listigi Infanajn Paĝojn Uzante Shortcode
Ni rekonstruis la hierarkion de retejoj por pluraj el niaj WordPress klientoj, kaj unu el la aferoj, kiujn ni provas fari, estas organizi la informojn efike. Por fari tion, ni ofte volas krei ĉefpaĝon kaj inkluzivi menuon, kiu aŭtomate listigas la paĝojn sub ĝi. Listo de infanaj paĝoj aŭ subpaĝoj.
Bedaŭrinde, ne ekzistas eneca funkcio aŭ funkcio por fari tion en WordPress, do ni evoluigis mallongan kodon por aldoni al la retejo de la kliento. Jen kiel vi povas uzi la mallongan kodon kun ĉiuj ĝiaj variabloj loĝitaj ene de WordPress-afiŝo aŭ paĝo:
[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"]
Diskonigo de Uzado:
ifempty="No child pages found"
: Ĉi tiu teksto estos montrata se ne estas infanaj paĝoj disponeblaj.order="ASC"
: Ĉi tio ordigas la liston de infanaj paĝoj en pligranda ordo.orderby="title"
: Ĉi tio ordigas la infanajn paĝojn laŭ ilia titolo.ulclass="custom-ul-class"
: Aplikas la CSS-klason "custom-ul-class" al la<ul>
elemento de la listo.liclass="custom-li-class"
: Aplikas la CSS-klason "custom-li-class" al ĉiu<li>
elemento en la listo.aclass="custom-a-class"
: Aplikas la CSS-klason "custom-a-class" al ĉiu<a>
(ligo) elemento en la listo.displayimage="yes"
: Ĉi tio inkluzivas la elstaran bildon de ĉiu infana paĝo en la listo.align="aligncenter"
: Ĉi tio vicigas la elstarajn bildojn en la centro.
Enigu ĉi tiun mallongkodon rekte en la enhavareon de WordPress-afiŝo aŭ paĝo, kie vi volas, ke la listo de infanaj paĝoj aperu. Memoru personecigi la valorojn de ĉiu atributo por kongrui kun la dezajno kaj strukturo de via WordPress retejo.
Aldone, se vi ŝatus mallonga ekstrakto priskribante ĉiun paĝon, la aldonaĵo ebligas ekstraktojn en paĝoj, tiel ke vi povas redakti tiun enhavon en la agordoj de la paĝo.
Listo de Infanaj Paĝoj Shortcode
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');
la funkcio add_shortcode_listchildpages
aldonas kutiman mallongan kodon
No Records
- Tutmonda Afiŝo Variablo: La funkcio komenciĝas per deklarado de la tutmonda variablo
$post
, kiu estas uzata por aliri informojn pri la nuna afiŝo aŭ paĝo ene de WordPress. - Shortcode AtributojLa
shortcode_atts
funkcio starigas defaŭltajn valorojn por la shortcode-atributoj. Uzantoj povas superregi ĉi tiujn kiam ili enigas la mallongkodon. Atributoj inkluzivas:ifempty
: Mesaĝo por montri se ne estas infanaj paĝoj.order
: Ordo de la infanaj paĝoj (ASC aŭ DESC).orderby
: Kriterioj por mendi infanajn paĝojn (ekz. publikigi_daton).ulclass
: CSS-klaso por la<ul>
elemento.liclass
: CSS-klaso por la<li>
elementoj.aclass
: CSS-klaso por la<a>
(ankro) elementoj.displayimage
: Ĉu montri la elstaran bildon de la infanaj paĝoj.align
: vicigo de la elstara bildo.
- Demandaj Argumentoj: La funkcio starigas a
WP_Query
por retrovi ĉiujn filajn paĝojn de la nuna paĝo, ordigitaj laŭ la specifitaj atributoj. - Generante la Liston:
- Se infanaj paĝoj estas trovitaj, la funkcio konstruas HTML neordigitan liston (
<ul>
), kun ĉiu infanpaĝo reprezentita per listero (<li>
). - Ene de ĉiu listero, la funkcio kontrolas ĉu montri la elstaran bildon bazitan sur la
displayimage
atribui. - La funkcio ankaŭ kreas ligilon al ĉiu infana paĝo uzante la
<a>
etikedo, kaj se disponebla, aldonas la eltiraĵon de la infana paĝo.
- Se infanaj paĝoj estas trovitaj, la funkcio konstruas HTML neordigitan liston (
- Eligo aŭ Defaŭlta Mesaĝo: Se ne estas infanaj paĝoj, la funkcio eligas la mesaĝon specifitan de la
ifempty
atribui. - Restarigi Afiŝajn DatumojnLa
wp_reset_postdata
funkcio restarigas la WordPress demando, certigante ke la tutmonda$post
objekto estas restarigita al la afiŝo de la originala ĉefa demando. - Shortcode Registrado: Fine, la
add_shortcode
funkciregistrojlistchildpages
kiel nova shortcode, ligante ĝin al laadd_shortcode_listchildpages
funkcio, farante ĝin disponebla por uzo en afiŝoj kaj paĝoj.
Ĉi tiu funkcio estas utila por dinamike listigi subpaĝojn sur gepaĝo, plibonigante navigadon kaj organizon en WordPress-ejo. Mi rekomendus aldoni ĝin al kutima kromaĵo se vi ŝatus aldoni ĝin al via WordPress-ejo. Aŭ... vi povas elŝuti la kromprogramon, kiun mi publikigis.
Listo de Infanaj Paĝoj Shortcode Kromaĵo
Mi finfine volis puŝi la kodon en aldonaĵon por faciligi instaladon kaj uzadon, kaj la Enlistigu aldonaĵon de Knabpaĝoj Shortcode estis aprobita de WordPress hodiaŭ! Bonvolu elŝuti kaj instali ĝin - se vi ŝatas ĝin, provu recenzon!