افزودن بردکرامب به وردپرس
بردکرامب (Breadcrumb) قابلیتی است که به تازگی در میان طراحان وبسایت رواج پیدا کرده و در وبسایت های مدرن از اون ها استفاده میشه. بردکرامب، اصطلاحا نوار آدرس دهی صفحات هست. تمامی شما اون رو دیدید و حتما هم میدونید چیه.
ساخت نشانگر صفحات برای وردپرس مزایای مثبتی دارد که بصورت مختصر به آنها اشاره میکنیم:
نمایش موقعیت دسته بندی یا صفحات جاری در وردپرس شما میتواند به موتورهای جستجوگر کمک کند تا سایت شما را بهتر شناسایی کنند و بصورت صحیح نوشتههای شما را دستهبندی کنند که تاثیر بسیار مفیدی در سئو سایت وردپرسی و بهینه سازی آن دارد.
هنگامی که شما برای تمام صفحات سایت خود breadcrumb را تعریف می کنید بعد از مدتی در نتایج جستجو در موتورهای جستجو به جای اینکه تمام متن شما نمایش داده شود یک حالت navigation پدیدار می شود که نشان دهنده مجموعه ای است که متن شما در آن قرار دارد و این مسئله باعث می شود که اسپایدرها علاوه بر خزیدن در صفحات وارد آن مجموعه نیز می شوند و آن را ایندکس می کنند.
یک شرکت طراحی وب سایت حرفه ای همیشه جایی برای Breadcrumbs در نظر می گیرد و در برخی موارد برای برهم نخوردن طراحی و عدم شلوغی در صفحه این مسیرها را با رنگهای زمینه یکی می کنند و هم طراحی را دست نزده و هم موتورهای جستجو را به صفحات خود راهنمایی می کنند.
اضافه کردن نمایش موقعیت کنونی کاربران در صفحات وردپرس باعث میشود که کاربر همواره بداند در کدام نوشته و یا دستهبندی از موضوعات سایت قرار دارد که باعث میشود علاوه بر عدم سرگردانی مسیر اصلی خود را به سادگی پیدا کند، همچنین برای رفتن به سایر دستهبندیها از طریق اسپیدبار زمان بیشتری را در سایت شما سپری میکند و ترافیک بیشتری ایجاد میشود.
چگونه بدون نصب افزونه یک بردکرامب بسازیم؟
پیش از این هم افزونهها و کدهای زیادی برای breadcrumb در سایت های گوناگون معرفی شده بود که کدی که امروز برای شما آماده کردهایم بصورت کامل بوده و به راحتی میتوانید نمایش آدرس صفحهی کنونی که کاربر در آن حاضر است را به پوسته وردپرس خود اضافه نمایید.
ابتدا میبایست کد زیر را به فایل functions.php موجود در ریشه پوسته خود اضافه نمایید لطفا پیش از ایجاد هر تغییری در این فایل از آن نسخه پشتیبان تهیه نمایید تا در صورت بروز خطا آن را به حالت اول بازگردانید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | function dimox_breadcrumbs() { $delimiter = '»'; $home = 'خانه'; // text for the 'Home' link $before = '<span>'; // tag before the current crumb $after = '</span>'; // tag after the current crumb if ( !is_home() && !is_front_page() || is_paged() ) { echo ' <div id="crumbs">'; global $post; $homeLink = get_bloginfo('url'); echo '<a href="' . $homeLink . '">' . $home . '</a> ' . $delimiter . ' '; if ( is_category() ) { global $wp_query; $cat_obj = $wp_query->get_queried_object(); $thisCat = $cat_obj->term_id; $thisCat = get_category($thisCat); $parentCat = get_category($thisCat->parent); if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' ')); echo $before . 'بایگانی برای دستهبندی "' . single_cat_title('', false) . '"' . $after; } elseif ( is_day() ) { echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' '; echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' '; echo $before . get_the_time('d') . $after; } elseif ( is_month() ) { echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' '; echo $before . get_the_time('F') . $after; } elseif ( is_year() ) { echo $before . get_the_time('Y') . $after; } elseif ( is_single() && !is_attachment() ) { if ( get_post_type() != 'post' ) { $post_type = get_post_type_object(get_post_type()); $slug = $post_type->rewrite; echo '<a href="' . $homeLink . '/' . $slug['slug'] . '/">' . $post_type->labels->singular_name . '</a> ' . $delimiter . ' '; echo $before . get_the_title() . $after; } else { $cat = get_the_category(); $cat = $cat[0]; echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' '); echo $before . get_the_title() . $after; } } elseif ( !is_single() && !is_page() && get_post_type() != 'post' ) { $post_type = get_post_type_object(get_post_type()); echo $before . $post_type->labels->singular_name . $after; } elseif ( is_attachment() ) { $parent = get_post($post->post_parent); $cat = get_the_category($parent->ID); $cat = $cat[0]; echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' '); echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a> ' . $delimiter . ' '; echo $before . get_the_title() . $after; } elseif ( is_page() && !$post->post_parent ) { echo $before . get_the_title() . $after; } elseif ( is_page() && $post->post_parent ) { $parent_id = $post->post_parent; $breadcrumbs = array(); while ($parent_id) { $page = get_page($parent_id); $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>'; $parent_id = $page->post_parent; } $breadcrumbs = array_reverse($breadcrumbs); foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' '; echo $before . get_the_title() . $after; } elseif ( is_search() ) { echo $before . 'نتایج جستجو برای "' . get_search_query() . '"' . $after; } elseif ( is_tag() ) { echo $before . 'برچسبهای نوشتهها "' . single_tag_title('', false) . '"' . $after; } elseif ( is_author() ) { global $author; $userdata = get_userdata($author); echo $before . 'Articles posted by ' . $userdata->display_name . $after; } elseif ( is_404() ) { echo $before . 'هشدار ۴۰۴' . $after; } if ( get_query_var('paged') ) { if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' ('; echo __('برگه') . ' ' . get_query_var('paged'); if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')'; } echo '</div> '; } } |
تا به این مرحله قابلیت نمایش موقعیت کنونی کاربران به وردپرس شما اضافه شد حالا شما باید دستور زیر را برای نمایش اسپیدبار در ناحیهای از پوسته که مورد پسندتان هست قرار دهید:
1 | <?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?> |
ایدار باشید.
این نوشته چندتا لایک داره؟
دیدگاه خود را بیان کنید