ساخت اسپیدبار یا نمایش موقعیت کنونی کاربران در وردپرس

اسپیدبار (1)

نمایش موقعیت کنونی کاربران در وردپرس قابلیتی است که شما می‌توانید با استفاده از این قطعه که در ادامه نوشته است نمایش آدرس برگه کنونی وردپرس را بدون نیاز به نصب پلاگین‌های breadcrumb و یا افزونه‌های مربوطه در قالب خود برای نمایش ایجاد کنید.

نمایش موقعیت دسته‌بندی یا صفخات جاری در وردپرس به موتورهای جستجو کمک می‌کند تا سایت شما را بهتر شناسایی و دسته‌بندی کنند که در سئو سایت شما تاثیر مثبتی دارد.

اضافه کردن موقعیت کنونی کاربران در وردپرس باعث می‌شود تا کاربران همواره بدانند. در کدام نوشته یا دسته‌بندی سایت است که باعث سرگردانی کاربران نمی‌شود و همچنین برای رفتن به سایر دسته‌بندی‌ها از طریق اسپیدبار زمان بیشتری را در سایت شما سپری می‌کنند. همچنین ترافیک بیشتری در سایت شما ایجاد می‌شود. بهتر است از هاست وردپرس استفاده کنید تا استفاده بهینه‌تر و سرعت بالاتری را تجربه کنید.

افزونه‌های زیادی برای breadcrumb موجود است اما شما می‌توانید با قطعه کد زیر به راحتی این قابلیت را اضافه کنید.

نمایش موقعیت کنونی کاربران در وردپرس

ابتدا قبل از هر تغییر مهمی در سایت خود یک نسخه پشتیبان تهیه کنید. سپس به فایل function.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 . 'هشدار 404' . $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(); ?>

 

با اضافه کردن این قابلیت به سایت وردپرسی خود باعث بهتر شدن سئو سایت شما و عدم سردرگمی کاربران در سایت خود می‌شوید.

با تشکر از این که تا پایان آموزش “ساخت اسپیدبار یا نمایش موقعیت کنونی کاربران در وردپرس” همراه با ما بودید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Latest Articles and News