آموزش ساخت بردکرامب - Breadcrumbs در وردپرس بدون نیاز به افزونه

مسیح دیندار
مدیریت
عضو شده: 2021-04-12 14:23:35
2021-04-24 20:16:42

Breadcrumbs ها یا به فارسی "بردکرامب" به المنتی در سایت گفته می شود که موقعیت مکانی فعلی بازدیدکننده در سایتمان را به او نشان می دهد. مثلا به این صورت : 

خانه  >  محصولات  >  لوازم خانگی  >  با گارانتی  > محصول فعلی که درحال بازدید از آن است...

و خب همونطور که می بینید انجمن تاکینا هم از این قابلیت در همین صفحه استفاده می کنه! با این المنت کاربر می دونه دقیقا توی چه مرحله ای از سایت و گشت و گذارش هست. شاید بخواد برگرده به صفحه قبل یا بخواد به خاطر بسپاره که از چه بخش هایی باید دفعه بعدی عبور کنه تا به همین صفحه ای که هست برسه!

برای داشتن چنین چیزی اول از همه باید کد زیر رو در فایل functions.php که فایل توابع اجرایی قالب های وردپرسی هست قرار بدید:

function the_breadcrumb() {
echo '<ul id="crumbs">';
if (!is_home()) {
echo '<li><a href="';
echo get_option('home');
echo '">';
echo 'Home';
echo "</a></li>";
if (is_category() || is_single()) {
echo '<li>';
the_category(' </li><li> ');
if (is_single()) {
echo "</li><li>";
the_title();
echo '</li>';
}
} elseif (is_page()) {
echo '<li>';
echo the_title();
echo '</li>';
}
}
elseif (is_tag()) {single_tag_title();}
elseif (is_day()) {echo"<li>Archive for "; the_time('F jS, Y'); echo'</li>';}
elseif (is_month()) {echo"<li>Archive for "; the_time('F, Y'); echo'</li>';}
elseif (is_year()) {echo"<li>Archive for "; the_time('Y'); echo'</li>';}
elseif (is_author()) {echo"<li>Author Archive"; echo'</li>';}
elseif (isset($_GET['paged']) && !empty($_GET['paged'])) {echo "<li>Blog Archives"; echo'</li>';}
elseif (is_search()) {echo"<li>Search Results"; echo'</li>';}
echo '</ul>';
}

داخل کد بالا شما عبارات و متن های انگلیسی رو مشاهده می کنید که در بردکرامب خروجی گرفته میشه که می تونید اونها رو به صورت دلخواه فارسی سازی کنید یا بخش هاشو کم و زیاد کنید. خلاقیت داشته باشید :)

 

مرحله آخر هم نمایش بردکرامب در سایت هست. کد پایین رو در یکی از فایل های قالب که می خواهید این قابلیت در سایت نمایش داده بشه، قرار بدید. اگه مثل انجمن تاکینا می خواهید که توی همه صفحات انجمن نشون داده بشه، پیشنهاد می کنید کد زیر رو در فایل header.php قالبتون قرار بدید. البته محل قرار دادنش مهمه ها، سعی کنید اواخر محتویات این فایل قرارش بدید:

<?php the_breadcrumb(); ?>