سلام با یکی دیگر از آموش های وردپرس در خدممتون هستم در این پست می خوام آموزش ساخت breadcrumb در وردپرس رو بگم برید کرومب همون موقعیت کنونی کاربر در سایت هستش یعنی وقتی وارد یه دسته بندی میشید و در اون دسته بندی وارد یه مطلبی میشید در بالای اون پست موقعیت شما نمایش داده میشه که بهش میگن breadcrumb و به صورت مثلا ( خانه » نام دسته بندی » نام پست ).
وجود breadcrumb در هر سایتی تاثیر خوبی در سایت می تونه داشته باشه که یکی از مهم ترین های تاثیر breadcrumb سئو هستش , اگه مطالب آموزش ساخت نقشه ی سایت رو در بخش سئو مطالعه کرده باشید گفته شده که به دلیل اینکه نقشه ی سایت یه صفحه ی ساده هستش و لینک ها , برچسب ها و دسته بندی ها رو نمایش میده باعث میشه تا موتور جست و جو ها به راحتی به مطالب سایت برسن و به راحتی مطالب رو ایندکس کنن , حالا breadcrumb یا همون موقعیت کنونی کاربر نیز سبب میشه موتور جست و جو مسیر ها رو سریع تر پیدا کنه.
حتی افزونه wordpress seo هم به این نکته اشاره کردهو
آموزش ساخت breadcrumb در وردپرس
خوب اگر برای قالب وردپرس شما این کد تعریف نشده و شما این قابلیت رو داخل قالبتون ندارید دست به کار شید , ابتدا فایل Functins.php قالب رو باز کنید و کد زیر رو به این فایل اضافه کنید ( نکته : کد رو در محل مناسب قررا بدید )
function dimox_breadcrumbs() { $delimiter = '»'; $home = '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 . 'Search results for "' . get_search_query() . '"' . $after; } elseif ( is_tag() ) { echo $before . 'Posts tagged "' . 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 . 'Error 404' . $after; } if ( get_query_var('paged') ) { if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' ('; echo __('Page') . ' ' . get_query_var('paged'); if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')'; } echo '</div>'; } }
خوب بعد از اینکه کد بالا رو در فایل functins.php قرار دادید , حالا باید کد نمایش breadcrumb رو در فایل های مورد نظرتون قرار بدید مثلا فایل های ( single.php , page.php , tag.php , category.php ) هر کدوم از این فایل ها که در قالبتون وجود داره بهتره که کد زیر رو در محل مناسب از این فایل ها قرار بدید اغلب موقعیت کاربر در بالای محتوای اصلی نمایش داده میشه پایین header و بالای محتوا اطلاعات بیشتر درباره ی فایل های قالب وردپرس رو مطالعه کنید.
کد مورد نظر برای نمایش موقعیت کنونی کاربر
<?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?>
بعد از قرار دادن در فایل های مورد نظر می تونید نتیجه ی کارتون رو ببینید , اگر با کدهای html آشنایی دارید می تونید کد بالا رو در بین یه div قررار بدید و براش calss تعریف کنید و به دلخواه و سلیقه ی خودتون بهش استایل بدید.
امیدوارم مفید واقع بشه براتون. به وردپرس بپیونید و از دوستداران سر سخت وردپرس باشید.