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
- 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. - 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.
- 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. - 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.
- Kung natagpuan ang mga child page, ang function ay gagawa ng isang HTML na hindi nakaayos na listahan (
- Output o Default na Mensahe: Kung walang mga child page, ilalabas ng function ang mensaheng tinukoy ng
ifempty
katangian. - 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. - Pagpaparehistro ng Shortcode: Sa wakas, ang
add_shortcode
mga rehistro ng functionlistchildpages
bilang isang bagong shortcode, iniuugnay ito saadd_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!