آموزش ساخت breadcrumb در وردپرس - مکان فعلی کاربر

آموزش ساخت breadcrumb در وردپرس – مکان فعلی کاربر

سلام با یکی دیگر از آموش های وردپرس در خدممتون هستم در این پست می خوام آموزش ساخت 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 تعریف کنید و به دلخواه و سلیقه ی خودتون بهش استایل بدید.

امیدوارم مفید واقع بشه براتون. به وردپرس بپیونید و از دوستداران سر سخت وردپرس باشید.

یک پینگ

  1. پینگ‌بک: افزونه نمایش مکان فعلی کاربر در وردپرس

  2. پینگ‌بک: افزودن دسته بندی و برچسب به برگه ها | دینا وب هاست

  3. پینگ‌بک: افزودن دسته بندی و برچسب به برگه ها| قالب های وردپرس

یک نظر

  1. شادمهروثیقی

    الان روی زمپ دارم تست میکنم ولی ارور Parse error: syntax error, unexpected ‘<', expecting variable (T_VARIABLE) or '$' in C:\xampp\htdocs\wp-content\themes\poostak-2014\functions.php on line 14
    را میدهد در فانکشنم همه کدها صحیح جاگزاری شده ممنون از نشر مطالب خوبتون

  2. هادی قربانی

    داخل کد استایل این کد رو پیدا کنید .entry .downloads این کد رو به download-post که در دیدگاه قبلی گفتم تغییر بده

  3. مهدی

    ممنون از مطلب خوبتون من انجام دادم و به این شد

    dl.moviebaz.net/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%85%D9%88%D8%B2%DB%8C%DA%A9-%D9%88%DB%8C%D8%AF%DB%8C%D9%88-%D8%AC%D8%AF%DB%8C%D8%AF-%D9%88-%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1-%D8%B2%DB%8C%D8%A8%D8%A7%DB%8C-mike-de/

    میشه یه استایل مناسب بگید بزارم براش یکم بیریخت هستش اینطوری و من از html سر در نمیارم..شرمنده هادی جان مرسی

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

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