رفتن به مطلب

نمایش خودکار دسته بندی ها در صفحه اصلی


پست های پیشنهاد شده

سلام و درود

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

سپاس

قبلا از کدهای زیر استفاده می کردم ولی انگار توی ورژن جدید وردپرس جواب نمیده.

<?php
add_action( 'widgets_init', create_function('', 'return register_widget("hp_recent_posts");') );
class hp_recent_posts extends WP_Widget {
    public function __construct() {
    parent::WP_Widget( false, 'دسته بندی های صفحه اصلی',array('description' => __('نمایش آخرین دسته بندی های هر دسته در صفحه اصلی') ));
	}
    public function widget( $args, $instance ) {
        extract( $args );
        $headline = $instance['headline'];
        $category = $instance['category'];
        $numberposts = $instance['numberposts'];
        echo $before_widget;
        $category_id = get_cat_ID($category);
        $category_url = get_category_link($category_id);
        echo '<a href="'.$category_url.'">'.$category.'</a>';

		$the_query = new WP_Query(
		array(
			'category_name' => $category,
			'posts_per_page' => $numberposts
			)
		);
		if ( $the_query->have_posts() ) {
			$i =0 ;
			while ( $the_query->have_posts() ) {
				$the_query->the_post(); $i++;
				//echo $ads_price;
				if ($i == 1 ) {
				}
				if ($i == 2 ) {
				}
				if ($i == 3 ) {
				}
				if ($i == 4 ) {
				}
				if ($i == 5 ) {
				}
			}
		wp_reset_postdata();
		}
        echo $after_widget;
    }
    public function update( $new_instance, $old_instance ) {
        $instance = array();
        $instance['headline'] = ( $new_instance['headline'] );
        $instance['category'] = ( $new_instance['category'] );
        $instance['numberposts'] = ( $new_instance['numberposts'] );
        return $instance;
    }
    public function form( $instance ) {
        $headline = $instance[ 'headline' ];
        $category = $instance[ 'category' ];
        $numberposts = $instance[ 'numberposts' ];
		$categories = get_categories(array('type'=>'post','orderby'=> 'name','order'=> 'ASC'));
		$defaults = array( 'numberposts' => 3 );
		$instance = wp_parse_args( (array) $instance, $defaults );
        echo '<p>';
		echo '<label for="'. $this->get_field_id( 'headline' ) .'">'. _e( 'عنوان : ' ) .'</label>';
		echo '<input class="widefat" id="'. $this->get_field_id( 'headline' ) .'" name="'. $this->get_field_name( 'headline' ) .'" type="text" value="'. esc_attr( $headline ) .'" />';
		echo '</p>';
		echo '<p>';
		echo '<label for="'. $this->get_field_id( 'category' ) .'">'. _e( 'انتخاب دسته بندی : ' ) .'</label>';
		echo '<select name="' . $this->get_field_name('category') . '" id="' . $this->get_field_id('category') . '" style="width: 100%;">';
			foreach($categories as $category):
				echo '  <option value="' . $category->name .'" '. selected($category->name, $instance['category'], false) . '>' . $category->name . '</option>';
			endforeach;
		echo '</select>';
		echo '</p>';
		echo '<p>';
		echo '<label for="'. $this->get_field_id( 'numberposts' ) .'">'. _e( 'تعداد نوشته‌هایی که نمایش داده می‌شود:' ) .'</label>';
		echo '<input class="tiny-text" id="'. $this->get_field_id( 'numberposts' ) .'" name="'. $this->get_field_name( 'numberposts' ) .'" type="number" value="'. $instance['numberposts'] .'" step="1" min="1" size="3" />';
		echo '</p>';
    }
}

 

لینک به ارسال

سلام.

در تاپیک دیگه در مورد create function توضیح دادم بهتون. فکر میکنم با همون مشکلتون حل بشه.

 

× فکر میکنم بتونید کدتون رو هم بازنویسی کنید. اگر میخواید تنها دسته بندی های دارای پست رو با یک استایل مجزا قرار بدید نباید این توابع استفاده بشه.

لینک به ارسال
در در ۱۴۰۰/۷/۲۷ در 10:01، Mesmaili گفته است :

سلام.

در تاپیک دیگه در مورد create function توضیح دادم بهتون. فکر میکنم با همون مشکلتون حل بشه.

 

× فکر میکنم بتونید کدتون رو هم بازنویسی کنید. اگر میخواید تنها دسته بندی های دارای پست رو با یک استایل مجزا قرار بدید نباید این توابع استفاده بشه.

سلام.

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

لینک به ارسال
  • 1 ماه بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...