خانه / وردپرس / آموزش وردپرس / بازی با کدها: ساخت ابزارک نمایش مطالب با استفاده از دسته بندی ها،قسمت اول

تاریخ انتشار: مرداد 27, 1394 تعداد بازدید: 404 بازدید تعداد دیدگاه ها: 0

بازی با کدها: ساخت ابزارک نمایش مطالب با استفاده از دسته بندی ها،قسمت اول

بازی با کدها: ساخت ابزارک نمایش مطالب با استفاده از دسته بندی ها،قسمت اولReviewed by فریش تم on Aug 18Rating: 5.0بازی با کدها: ساخت ابزارک نمایش مطالب با استفاده از دسته بندی ها،قسمت اولدر این آموزش وردپرس همراه شما هستم با آموزش ساخت ابزارک نمایش مطالب با استفاده از دسته بندی ها که بدون معطلی به سراغ شروع کار میرویم.

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

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

class CategoryPosts extends WP_Widget {

	function CategoryPosts() {
		$widget_ops = array('classname' => 'cat-post-widget', 'description' => __('نمایش نوشته های مربوط به دسته خاص')); // توضیحات مربوط به ابزارک در اینجا
		$this->WP_Widget('category-posts', __('نمایش نوشته ها براساس دسته بندی'), $widget_ops);  // نام ابزارک در اینجا
	}

با این کد کلاس مربوطه ساخته میشود و حال باید نمایش ابزارک بر اساس دسته بندی را بنویسیم که نمونه ای از آن به صورت زیر است:

function widget($args, $instance) {
		global $post;
		$post_old = $post; // ذخیره مطلب
		
		extract( $args );
		
		$sizes = get_option('mkrdip_cat_post_thumb_sizes');
		
		// اگر عنوانی وارد نشد از نام دسته بندی استفاده میشه
		if( !$instance["title"] ) {
			$category_info = get_category($instance["cat"]);
			$instance["title"] = $category_info->name;
	  }

	  $valid_sort_orders = array('date', 'title', 'comment_count', 'rand');
	  if ( in_array($instance['sort_by'], $valid_sort_orders) ) {
		$sort_by = $instance['sort_by'];
		$sort_order = (bool) isset( $instance['asc_sort_order'] ) ? 'ASC' : 'DESC';
	  } else {
		// این بخش مربوط به مرتب سازی هستش
		$sort_by = 'date';
		$sort_order = 'DESC';
	  }
		
		// آرایه ای از اطلاعات مطالب را بر می گرداند
	  $cat_posts = new WP_Query(
		"showposts=" . $instance["num"] . 
		"&cat=" . $instance["cat"] .
		"&orderby=" . $sort_by .
		"&order=" . $sort_order
	  );

		// طول چکیده را تعیین می کند
		$new_excerpt_length = create_function('$length', "return " . $instance["excerpt_length"] . ";");
		if ( $instance["excerpt_length"] > 0 )
			add_filter('excerpt_length', $new_excerpt_length);
		
		echo $before_widget;
		
		// عنوان ابزارک
		echo $before_title;
		if( isset( $instance["title_link"] ) )
			echo '<a href="' . get_category_link($instance["cat"]) . '">' . $instance["title"] . '</a>';
		else
			echo $instance["title"];
		echo $after_title;

		// لیست مطالب
		echo "<ul>\n";
		
		while ( $cat_posts->have_posts() )
		{
			$cat_posts->the_post();
		?>
			<li class="cat-post-item">
				<a class="post-title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
				

				<?php if ( isset( $instance['date'] ) ) : ?>
				<p class="post-date"><?php the_time("j M Y"); ?></p>
				<?php endif; ?>
				
				<?php
					if (
						function_exists('the_post_thumbnail') &&
						current_theme_supports("post-thumbnails") &&
						isset( $instance["thumb"] ) &&
						has_post_thumbnail()
					) :
				?>
					<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
					<?php the_post_thumbnail( 'cat_post_thumb_size'.$this->id ); ?>
					</a>
				<?php endif; ?>
							
				<?php if ( isset( $instance['excerpt'] ) ) : ?>
				<?php the_excerpt(); ?> 
				<?php endif; ?>
				
				<?php if ( isset( $instance['comment_num'] ) ) : ?>
				<p class="comment-num">(<?php comments_number(); ?>)</p>
				<?php endif; ?>
			</li>
			<?php
		}
		
		echo "</ul>\n";
		
		echo $after_widget;

		remove_filter('excerpt_length', $new_excerpt_length);
		
		wp_reset_postdata();
	
	}

همانطور که میبیند من آن را به سلیقه خود قرار داده ام و شما میتوانید به سلیقه و نیاز خود آن را تغییر دهید
حال باید کد مربوط به ذخیره اطلاعات وارد شده را قرار دهیم.پس با قسمت بعدی همراه من باشید

ساخت ابزارک نمایش مطالب با استفاده از دسته بندی ها،قسمت دوم

منبع: فریش تم

کانال تلگرام فریش تم
  • دیدگاه شما پس از تایید در سایت نمایش داده می شود.
  • از ارسال متن بصورت فینگلیش خودداری نموده و فارسی تایپ کنید.
  • دیدگاه و سوالات شما توسط کارشناسان ما بین 1 تا 12 ساعت پاسخ داده خواهد شد.
  • از ارسال دیگاه جهت پشتیبانی محصولات تجاری پرهیز و برای پشتیبانی از بخش پشتیبانی سایت اقدام فرمائید

هنوز دیدگاهی ثبت نشده است.