بردرامب (Breadcrumb) همان قسمت موقعیت کنونی کاربر است که تا به حال در سایت های زیادی دیده اید. اگر سایت شما Breadcrumb ندارد، می توانید از طریق تابع زیر آن را به سایت خود اضافه کنید. البته افزونه هایی برای نمایش بردکرامب (Breadcrumb) در وردپرس وجود دارند اما اگر می خواهید این کار را بدون نیز به افزونه انجام دهید، از طریق همین تابع Breadcrumb که در ادامه می بینید، می توانید آن را پیاده سازی کنید.
در چک لیست سئو نیز به اهمیت داشتن بردکرامب توضیح داده ایم که می توانید این چک لیست را از سایت دانلود کنید. همچنین در دوره آموزش سئو نیز به طور جامع در مورد سئو و البته موضوع بردکرامب صحبت کرده ایم و آموزش های عملی لازم را داده ایم که می توانید این دوره را از سایت تهیه و دانلود کنید.
فهرست عناوین مقاله
بردرکامب (Breadcrumb) چیست؟
از طریق Breadcrumb کاربر متوجه می شود که دقیقا در کدام بخش از سایت شما قرار دارد. به عنوان مثال از طریق گوگل به یک مقاله ای از سایت شما رسیده است و کاربر در این صفحه از طریق بردکرامب (Breadcrumb) متوجه می شود که این مقاله به عنوان مثال از دسته بندی “آموزش ویرایش فیلم” که خود از زیر دسته “آموزش های چندرسانه ای” است و همچنین این دسته بندی هم زیر مجموعه “مقالات آموزشی” است. به این صورت کاربر دقیقا موقعیت خود را در سایت مشاهده می کند و مسیر دسته بندی های سایت را متوجه می شود و در نهایت از گم شدن کاربر در مسیر های سایت جلوگیری می شود.
علاوه بر مزیت نمایش موقعیت کنونی به کاربر در سایت، Breadcrumb باعث بهینه شدن ساختار سایت برای موتور های جستجو مانند گوگل نیز می شود و آن ها نیز به راحتی می توانند از ساختار دسته بندی و محتوای سایت شما سر در بیاورند تا سایت شما را بهتر شناسایی کنند تا در نتایج جستجو نیز شما را به کاربران نمایش دهند.
درج بردکرامب از طریق کد تابع:
برای درج موقعیت کنونی کاربر، ابتدا زیر را که کد تابع نمایش Breadcrumb است را در فایل functions.php قالب سایت خود قرار دهید.
// to include in functions.php
function the_breadcrumb() {
$sep = ' > ';
if (!is_front_page()) {
// Start the breadcrumb with a link to your homepage
echo '<div class="breadcrumbs">';
echo '<a href="';
echo get_option('home');
echo '">';
bloginfo('name');
echo '</a>' . $sep;
// Check if the current page is a category, an archive or a single page. If so show the category or archive name.تابع نمایش
if (is_category() || is_single() ){
the_category('>');
} elseif (is_archive() || is_single()){
if ( is_day() ) {
printf( __( '%s', 'text_domain' ), get_the_date() );
} elseif ( is_month() ) {
printf( __( '%s', 'text_domain' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'text_domain' ) ) );
} elseif ( is_year() ) {
printf( __( '%s', 'text_domain' ), get_the_date( _x( 'Y', 'yearly archives date format', 'text_domain' ) ) );
} else {
_e( 'Blog Archives', 'text_domain' );
}
}
// If the current page is a single post, show its title with the separator
if (is_single()) {
echo $sep;
the_title();
}
// If the current page is a static page, show its title.
if (is_page()) {
echo the_title();
}
// if you have a static page assigned to be you posts list page. It will find the title of the static page and display it. i.e Home >> Blog
if (is_home()){
global $post;
$page_for_posts_id = get_option('page_for_posts');
if ( $page_for_posts_id ) {
$post = get_page($page_for_posts_id);
setup_postdata($post);
the_title();
rewind_posts();
}
}
echo '</div>';
}
}
پس از درج کد قبلی در فایل functions.php، حالا کافیست کد زیر را در هر قسمت از فایل های قالب سایت که می خواهید Breadcrumb نمایش داده شود قرار دهید. به عنوان مثال اگر می خواهید Breadcrumb را در صفحه نوشته های سایت خود قرار دهید، باید آن را در فایل single.php و در مکانی که می خواهید (معمولا بعد از کد های هدر سایت) قرار دهید.
<!-- start breadcrumbs -->
<?php the_breadcrumb(); ?>
<!-- end breadcrumbs -->
حال اگر به سایت خود مراجعه کنید، خواهید دید که موقعیت کنونی هر نوشته در بالای آن قرار گرفته است.
البته این کد به صورت خام است و استایل دهی ندارد. برای تغییر ظاهر نمایش آن نیز می توانید از کد های CSS استفاده کنید تا ظاهر Breadcrumb را جذاب تر کنید.
امیدوارم این آموزش برای شما مفید بوده باشد. اگر سوال یا نظری در رابطه با این مقاله آموزشی دارید، از قسمت نظرات همین مقاله با ما در میان بگذارید.
سلام ببخشید میشه این کد را با همین روشی که گفتید اعمال کرد بعد تو یه سری از برگه بشه غیرفعالش کرد؟
سلام ببخشید میشه این کد را با همین روشی که گفتید اعمال کرد بعد تو یه سری از برگه بشه غیرفعالش کرد؟
اخه افزونه همینم هست و بعد از فعالسازی افزونه Breadcrumb یه تیک در هر برگه می آید که می توان به دلخواه در یک برگه بردکرامپ فعال باشد و در برگه دیگه ای فعال نباشه
بدون افزونه و به کمک همین کد چجوری می شه ای کار رو کرد؟
سلام علی جان
برای این کاری که میگید، باید کد نویسی قالب بلد باشید و اگر نه باید از همون پلاگین هایی که اشاره کردید برای این کار استفاده کنید.
مشکلتون با استفاده از اون پلاگین ها که کارتون رو هم انجام میده چیه؟
نمی خوام زیاد رو سایت افزونه نصب کنم فایل php که در افزونه است رو نمی شه در فانگشن قالب کپی کرد؟
خیر این کار درست نیست و این که کدهای افزونه رو داخل قالب کپی کنید، فرقی با اینکه افزونه نصب کنید نداره!
علاوه بر این اگر مشکلی در افزونه باشه، در آپدیت ها برطرف میشه اما اینطوری شما دیگه متوجه آپدیت نمیشید.
این کار رو انجام ندید و همون افزونه رو نصب کنید.
سلام
برای اضافه کردن کد به برگه ها و صفحه خرید کدوم فایل رو باید ویرایش کنیم؟؟
سلام خدمت شما
فایل page.php رو باید ویرایش کنید. البته خیلی بستگی به قالب داره.
سایت بنده دسته بندی شده هست و مسیر رو بر اساس خانه >دسته بندی>عنوان مقاله
نشان میده میخوام
اینجوری باشه
خانه>تگ>عنوان مقاله
چون سایتم موزیک هست میخوام نام خواننده رو از روی تگ بیاره همه سایت های موزیک این شکلی هست
سلام خدمت شما
این مورد به کد های قالبتون برمیگرده و اینطوری کدنویسی شده. برای تغییرش باید از یک برنامه نویس بخواهید انجام بده یا سایت رو ببینه و راهنمایی کنه.
سلام خسته نباشید
من از افزونه یوست استفاده میکنم و میخوام دسته ای خاص رو تو بردکرامب نشون نده مثال :
اسم سایت > خواننده > محسن یگانه > دانلود موزیک محسن یگانه تنهایی
میخوام دسته خواننده از بردکرامب حذف شه و نشون داده نشه
اسم سایت > محسن یگانه > دانلود موزیک محسن یگانه تنهایی
فکر میکنم با کد فانکشن باید اینکار رو کرد اما نمیدونم ممنون میشم کمک کنید.
سلام حمید عزیز
نه متاسفانه من راه حلی سراغ ندارم چون تا حالا بهش برنخوردم ولی این لینک رو ببینید شاید به کارتون بیاد:
https://stackoverflow.com/questions/29118374/how-to-remove-parent-category-from-yoast-breadcrumbs