بردکرامب (breadcrumb) یا نمایش موقعیت کنونی کاربران در وردپرس قابلیتی منحصر به فرد است که شما میتوانید با استفاده از کدی که در این نوشته برای شما عزیزان در ماندگار وب آماده کردهایم آنرا به پوسته وردپرس خود اضافه نمایید، به این معنا که شما میتوانید نمایش آدرس برگه کنونی وردپرس را بدون نیاز به نصب پلاگینهای breadcrumb و یا افزونههای مرتبط در قالب خود برای نمایش ایجاد کنید.
ساخت نشانگر صفحات برای وردپرس مزایای مثبتی دارد که بصورت مختصر به آنها اشاره میکنیم:
نمایش موقعیت دسته بندی یا صفحات جاری در وردپرس شما میتواند به موتورهای جستجوگر کمک کند تا سایت شما را بهتر شناسایی کنند و بصورت صحیح نوشتههای شما را دستهبندی کنند که تاثیر بسیار مفیدی در سئو سایت وردپرسی و بهینه سازی آن دارد.
اضافه کردن نمایش موقعیت کنونی کاربران در صفحات وردپرس باعث میشود که کاربر همواره بداند در کدام نوشته و یا دستهبندی از موضوعات سایت قرار دارد که باعث میشود علاوه بر عدم سرگردانی مسیر اصلی خود را به سادگی پیدا کند، همچنین برای رفتن به سایر دستهبندیها از طریق اسپیدبار زمان بیشتری را در سایت شما سپری میکند و ترافیک بیشتری ایجاد میشود.
پیش از این هم افزونهها و کدهای زیادی برای breadcrumb در سایت های گوناگون معرفی شده بود که کدی که امروز برای شما آماده کردهایم بصورت کامل بوده و به راحتی میتوانید نمایش آدرس صفحهی کنونی که کاربر در آن حاضر است را به پوسته وردپرس خود اضافه نمایید.
ابتدا میبایست کد زیر را به فایل functions.php موجود در ریشه پوسته خود اضافه نمایید لطفا پیش از ایجاد هر تغییری در این فایل از آن نسخه پشتیبان تهیه نمایید تا در صورت بروز خطا آن را به حالت اول بازگردانید:
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> '; } }
تا به این مرحله قابلیت نمایش موقعیت کنونی کاربران به وردپرس شما اضافه شد حالا شما باید دستور زیر را برای نمایش اسپیدبار در ناحیهای از پوسته که مورد پسندتان هست قرار دهید:
<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>
ممنون از همراهی شما با بلاگ تم
وردپرس را با تمام وجودم دوست دارم و از این رو چندین سال است در زمینه طراحی سایت های وردپرسی و طراحی پوسته های وردپرسی فعالیت می کنم و اعتقادم بر این است که انسان باید آموخته ها و تجربیات خود را با دیگران به اشتراک بگذارد بلاگ تم مکان اشتراک گذاری تجربیات و آموخته های من است
ارتباط با ما
Email: info@blog-theme.ir
Adress: IRAN
پیوند ها
دسترسی سریع