آموزش نمایش لیستی از برگه های فرزند برای برگه والد در وردپرس
وقتیکه روی سایتی کار می کنید که برگه های والدی با چندین برگه فرزند دارد، شاید بخواهید برگه های فرزند مربوط به هر کدام از برگه های والد را در ابزارک یا مکان های دیگر سایت خود به نمایش درآورید. در این مطلب به شما نشان خواهیم داد که چگونه می توانید لیستی از برگه های فرزند مربوط به برگه والد در وردپرس را به نمایش درآورید.
پیشتر در مورد ایجاد برگه فرزند در وردپرس صحبت کردیم. در صورتیکه با ایجاد برگه فرزند در وردپرس آشنا نیستید، توصیه می شود که مطلب مذکور را خوانده و برگه های فرزند مورد نظر خود را ایجاد کنید سپس اقدام به نمایش آنها بکنید.
نمایش برگه های فرزند در برگه والد وردپرس
برای نمایش لیستی از برگه های فرزند در برگه والد، شما میبایست کد زیر را به به فایل functions.php قالب خود یا افزونه اختصاصی سایت خود اضافه کنید:
function wpb_list_child_pages() { global $post; if ( is_page() && $post->post_parent ) $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' ); else $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' ); if ( $childpages ) { $string = '<ul>' . $childpages . '</ul>'; } return $string; } add_shortcode('wpb_childpages', 'wpb_list_child_pages');
کد بالا این موضوع را بررسی می کند که آیا برگه مورد نظر والدی دارد یا خود برگه والد است. اگر برگه مذکور برگه والد باشد، اقدام به نمایش برگه های فرزند مرتبط با آن می کند. اگر برگه مذکور برگه فرزند باشد، اقدام به نمایش سایر برگه های فرزند مربوط به برگه والد خود می کند.
در آخر، اگر برگه مذکور برگه فرزندی نداشته باشد یا برگه والد نباشد، کد بالا کاری بر روی آن انجام نخواهد داد. در خط آخر کد بالا، شورت کدی اضافه شده است، بدین ترتیب شما می توانید به آسانی برگه های فرزند را بدون ویرایش قالب های مربوط به آنها نمایش دهید.
برای نمایش برگه های فرزند تنها کافی است شورت کد زیر را در ابزارک موجود در سایدبار قالب خود قرار دهید:
[wpb_childpages]
نمایش برگه های فرزند بدون استفاده از شورت کد
استفاده از شورت کد آسانتر است، اما مشکل استفاده از شورت کد این است که شما باید شورت کد مذکور را به تمام برگه های سایت خود اضافه کنید. این امر میتواند زمان بر و مشکل ساز باشد و حتی گاهی ممکن است فراموش کنید که شورت کد را اضافه کنید.
راه بهتر ویرایش فایل قالب مربوط به برگه در قالب سایت است، بدین ترتیب از این طریق میتوان به صورت خودکار تمام برگه های فرزند مربوط به برگه والد را نمایش داد. برای انجام این کار نیاز است تا قالب page.php را ویرایش کنید.
در فایل مذکور، میبایست کد زیر را در جایی که میخواهید برگه های فرزند برگه والد مذکور نمایش داده شوند قرار دهید:
<?php wpb_list_child_pages(); ?>
کار تمام است. نتیجه را میتوانید با مراجعه به سایت خود و باز کردن یکی از برگه های سایت که والد است یا والدی دارد مشاهده کنید.
نظرات کاربران
ثبت دیدگاه