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

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

عرض سلام خدمت همراهان گرامی مکانیک وردپرس ؛ نمایش موقعیت کاربر در وردپرس میتواند به افزایش رضایت کاربر و حضور راحت او در وبسایت شما کمک بسیاری کند. شما میتوانید با استفاده از این تکنیک در سایت، کاربران خود را...

Picture of هانیه مجللی
هانیه مجللی

عرض سلام خدمت همراهان گرامی مکانیک وردپرس ؛
نمایش موقعیت کاربر در وردپرس میتواند به افزایش رضایت کاربر و حضور راحت او در وبسایت شما کمک بسیاری کند.
شما میتوانید با استفاده از این تکنیک در سایت، کاربران خود را براحتی از صفحه ایی که در آن حضور دارند، باخبر کنید.
با ما همراه باشید…

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

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

  1. استفاده از افزونه Breadcrumb برای نمایش موقعیت کنونی کاربران در وردپرس
  2. استفاده از کد برای نمایش موقعیت کنونی کاربران در وردپرس

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

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

برای این آموزش وردپرس کافیست قطعه کد زیر را داخل فایل functions.php قالب وردپرس خود قرار دهید.

توجه: همیشه قبل از ایجاد هرگونه تغییر در فایل های مهم سایت مانند همین فایل، از آن یک نسخه پشتیبان تهیه کنید.

// Breadcrumbs
function custom_breadcrumbs() {
	  
	// Settings
	$separator          = '>';
	$breadcrums_id      = 'breadcrumbs';
	$breadcrums_class   = 'breadcrumbs';
	$home_title         = 'Homepage';
	 
	// If you have any custom post types with custom taxonomies, put the taxonomy name below (e.g. product_cat)
	$custom_taxonomy    = 'product_cat';
	  
	// Get the query & post information
	global $post,$wp_query;
	  
	// Do not display on the homepage
	if ( !is_front_page() ) {
	  
		// Build the breadcrums
		  
		// Home page
		echo '<a class="bread-link bread-home" href="' . get_home_url() . '" title="' . $home_title . '"><div class="icohom fa fa-home" aria-hidden="true"></div></a>';
		echo '<i></i>';
		  
		if ( is_archive() && !is_tax() && !is_category() && !is_tag() ) {
			 
			echo '<li class="item-current item-archive"><strong class="bread-current bread-archive">' . post_type_archive_title($prefix, false) . '</strong></li>';
			 
		} else if ( is_archive() && is_tax() && !is_category() && !is_tag() ) {
			 
			// If post is a custom post type
			$post_type = get_post_type();
			 
			// If it is a custom post type display name and link
			if($post_type != 'post') {
				 
				$post_type_object = get_post_type_object($post_type);
				$post_type_archive = get_post_type_archive_link($post_type);
			 
				echo '<a class="bread-cat bread-custom-post-type-' . $post_type . '" href="' . $post_type_archive . '" title="' . $post_type_object->labels->name . '">' . $post_type_object->labels->name . '</a>';
				echo '<i></i>';
			 
			}
			 
			$custom_tax_name = get_queried_object()->name;
			echo '<a class="item-current item-archive"><strong class="bread-current bread-archive">' . $custom_tax_name . '</strong></li>';
			 
		} else if ( is_single() ) {
			 
			// If post is a custom post type
			$post_type = get_post_type();
			 
			// If it is a custom post type display name and link
			if($post_type != 'post') {
				 
				$post_type_object = get_post_type_object($post_type);
				$post_type_archive = get_post_type_archive_link($post_type);
			 
				echo '<a class="bread-cat bread-custom-post-type-' . $post_type . '" href="' . $post_type_archive . '" title="' . $post_type_object->labels->name . '">' . $post_type_object->labels->name . '</a>';
				echo '<i></i>';
			 
			}
			 
			// Get post category info
			$category = get_the_category();
			
			if(!empty($category)) {
			 
				// Get last category post is in
				$last_category = end(array_values($category));
				 
				// Get parent any categories and create array
				$get_cat_parents = rtrim(get_category_parents($last_category->term_id, true, ','),',');
				$cat_parents = explode(',',$get_cat_parents);
				 
				// Loop through parent categories and store in variable $cat_display
				$cat_display = '';
				foreach($cat_parents as $parents) {
					$cat_display .= '<a>'.$parents.'</a>';
					$cat_display .= '<i></i>';
				}
			
			}
			 
			// If it's a custom post type within a custom taxonomy
			$taxonomy_exists = taxonomy_exists($custom_taxonomy);
			if(empty($last_category) && !empty($custom_taxonomy) && $taxonomy_exists) {
				  
				$taxonomy_terms = get_the_terms( $post->ID, $custom_taxonomy );
				$cat_id         = $taxonomy_terms[0]->term_id;
				$cat_nicename   = $taxonomy_terms[0]->slug;
				$cat_link       = get_term_link($taxonomy_terms[0]->term_id, $custom_taxonomy);
				$cat_name       = $taxonomy_terms[0]->name;
			  
			}
			 
			// Check if the post is in a category
			if(!empty($last_category)) {
				echo $cat_display;
				echo '<a class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></a>';
				 
			// Else if post is in a custom taxonomy
			} else if(!empty($cat_id)) {
				 
				echo '<a class="bread-cat bread-cat-' . $cat_id . ' bread-cat-' . $cat_nicename . '" href="' . $cat_link . '" title="' . $cat_name . '">' . $cat_name . '</a>';
				echo '<i></i>';
				echo '<a class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></a>';
			 
			} else {
				 
				echo '<a class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '" title="' . get_the_title() . '">' . get_the_title() . '</strong></a>';
				 
			}
			 
		} else if ( is_category() ) {
			  
			// Category page
			echo '<a class="item-current item-cat"><strong class="bread-current bread-cat">' . single_cat_title('', false) . '</strong></a>';
			  
		} else if ( is_page() ) {
			  
			// Standard page
			if( $post->post_parent ){
				  
				// If child page, get parents 
				$anc = get_post_ancestors( $post->ID );
				  
				// Get parents in the right order
				$anc = array_reverse($anc);
				  
				// Parent page loop
				if ( !isset( $parents ) ) $parents = null;
				foreach ( $anc as $ancestor ) {
					$parents .= '<a class="bread-parent bread-parent-' . $ancestor . '" href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a>';
					$parents .= '<i></i>';
				}
				  
				// Display parent pages
				echo $parents;
				  
				// Current page
				echo '<a class="item-current item-' . $post->ID . '"><strong title="' . get_the_title() . '"> ' . get_the_title() . '</strong></a>';
				  
			} else {
				  
				// Just display current page if not parents
				echo '<a class="item-current item-' . $post->ID . '"><strong class="bread-current bread-' . $post->ID . '"> ' . get_the_title() . '</strong></a>';
				  
			}
			  
		} else if ( is_tag() ) {
			  
			// Tag page
			  
			// Get tag information
			$term_id        = get_query_var('tag_id');
			$taxonomy       = 'post_tag';
			$args           = 'include=' . $term_id;
			$terms          = get_terms( $taxonomy, $args );
			$get_term_id    = $terms[0]->term_id;
			$get_term_slug  = $terms[0]->slug;
			$get_term_name  = $terms[0]->name;
			  
			// Display the tag name
			echo '<a class="item-current item-tag-' . $get_term_id . ' item-tag-' . $get_term_slug . '"><strong class="bread-current bread-tag-' . $get_term_id . ' bread-tag-' . $get_term_slug . '">' . $get_term_name . '</strong></a>';
		  
		} elseif ( is_day() ) {
			  
			// Day archive
			  
			// Year link
			echo '<a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a>';
			echo '<i></i>';
			  
			// Month link
			echo '<a class="bread-month bread-month-' . get_the_time('m') . '" href="' . get_month_link( get_the_time('Y'), get_the_time('m') ) . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</a>';
			echo '<i></i>';
			  
			// Day display
			echo '<a class="item-current item-' . get_the_time('j') . '"><strong class="bread-current bread-' . get_the_time('j') . '"> ' . get_the_time('jS') . ' ' . get_the_time('M') . ' Archives</strong></a>';
			  
		} else if ( is_month() ) {
			  
			// Month Archive
			  
			// Year link
			echo '<a class="bread-year bread-year-' . get_the_time('Y') . '" href="' . get_year_link( get_the_time('Y') ) . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</a>';
			echo '<i></i>';
			  
			// Month display
			echo '<a class="item-month item-month-' . get_the_time('m') . '"><strong class="bread-month bread-month-' . get_the_time('m') . '" title="' . get_the_time('M') . '">' . get_the_time('M') . ' Archives</strong></a>';
			  
		} else if ( is_year() ) {
			  
			// Display year archive
			echo '<a class="item-current item-current-' . get_the_time('Y') . '"><strong class="bread-current bread-current-' . get_the_time('Y') . '" title="' . get_the_time('Y') . '">' . get_the_time('Y') . ' Archives</strong></a>';
			  
		} else if ( is_author() ) {
			  
			// Auhor archive
			  
			// Get the author information
			global $author;
			$userdata = get_userdata( $author );
			  
			// Display author name
			echo '<a class="item-current item-current-' . $userdata->user_nicename . '"><strong class="bread-current bread-current-' . $userdata->user_nicename . '" title="' . $userdata->display_name . '">' . 'Author: ' . $userdata->display_name . '</strong></a>';
		  
		} else if ( get_query_var('paged') ) {
			  
			// Paginated archives
			echo '<a class="item-current item-current-' . get_query_var('paged') . '"><strong class="bread-current bread-current-' . get_query_var('paged') . '" title="Page ' . get_query_var('paged') . '">'.__('Page') . ' ' . get_query_var('paged') . '</strong></a>';
			  
		} else if ( is_search() ) {
		  
			// Search results page
			echo '<a class="item-current item-current-' . get_search_query() . '"><strong class="bread-current bread-current-' . get_search_query() . '" title="کلمه جستجو شده ' . get_search_query() . '">کلمه جستجو شده : ' . get_search_query() . '</strong></a>';
		  
		} elseif ( is_404() ) {
			  
			// ۴۰۴ page
			echo '<a>' . 'یافت نشد' . '</a>';
		}
	  
		  
	}
	  
}

تقریبا تمام است فقط باید بدانید که می خواهید در کدام بخش این امکان را به نمایش بگذارید. معمولا در فایل های page.php یا single.php یا archive.php می توانید قطعه کد کوچک زیر را که از آن به عنوان Shortcode یاد میشود، جهت نمایش موقعیت کنونی در وردپرس قرار داد:

<?php custom_breadcrumbs(); ?>

اکنون میتوانید نتیجه کار خود را مشاهده کنید.

نکته: البته این نکته ناگفته نماند که برای نمایش این بخش به صورت دلخواه شما، باید با استفاده از کد های CSS به آن استایل مورد نظر خود را بدهید.

پیشنهاد: همچنین میتوانید آموزش نمایش موقعیت کنونی کاربران در وردپرس با افزونه Breadcrumb را مطالعه کنید.
موفق و پاینده باشید…

امتیاز دادن

نظرات با ارزش کاربران

0 پاسخ

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

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

فهرست مطالب

پشتیبانی آنلاین بله