رفتن به مطلب

چند مشکل با پست سفارشی (Post Type)


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

من برای ایجاد Custom Post Type از پلاگین CPT UI استفاده کردم. و برای هر کدوم دسته بندی مجزا هم تعریف ایجاد کردم. (Custom Taxonomy)

اول پست تایپ "یک" رو ایجاد کردم به همراه دسته بندی و شروع کردم به طراحی قالبم. اما بعد متوجه شدم که این پست تایپ توی آرشیو کتگوری و برچسب ها نمایش داده نمی‌شه!

بعد کد زیر رو وارد کردم:

function my_cptui_add_post_types_to_archives( $query ) {
	// We do not want unintended consequences.
	if ( is_admin() || ! $query->is_main_query() ) {
		return;    
	}

	if ( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {

		// Replace these slugs with the post types you want to include.
		$cptui_post_types = array( 'my_post_type', 'my_other_post_type' );

		$query->set(
	  		'post_type',
			array_merge(
				array( 'post' ),
				$cptui_post_types
			)
		);
	}
}
add_filter( 'pre_get_posts', 'my_cptui_add_post_types_to_archives' );
function my_cptui_add_post_types_to_archives( $query ) {
	// We do not want unintended consequences.
	if ( is_admin() || ! $query->is_main_query() ) {
		return;    
	}

	if ( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {

		// Replace these slugs with the post types you want to include.
		$cptui_post_types = array( 'my_post_type', 'my_other_post_type' );

		$query->set(
	  		'post_type',
			array_merge(
				array( 'post' ),
				$cptui_post_types
			)
		);
	}
}
add_filter( 'pre_get_posts', 'my_cptui_add_post_types_to_archives' );

مشکل رفع شد.

بعد پست تایپ "دو" و دسته بندیش و پست تایپ "سه" رو ایجاد کردم.

 

چند تا مورد و مشکل دارم در حال حاضر که درست متوجه نمی شم.

1- در حال حاضر با اضافه کردن slug پست تایپ "دو" و "سه" به کد بالا، باز هم توی آرشیو دسته بندی ها و برچسب ها نمایش داده نمی شن این دو تای جدید! مشکل چیه؟

2- برای پست تایپ "دو" وقتی روی دسته بندی مربوطه کلیک می کنم، توی صفحه بعضی از دسته بندی‌ها پست مربوطه رو نمایش می‌ده و توی بعضی از دسته بندی‌ها نمایش نمی‌ده! مشکل این یکی دقیقا از کجاست؟

 

لینک به ارسال

مشکل اول رو با کد اضافه کردن کد زیر حل کردم:

function add_custom_post_types_to_author_archive( $query ) {
    if ( is_author() && $query->is_main_query() ) {
        $query->set( 'post_type', array( 'post', 'page', 'custom_post_type_1', 'custom_post_type_2', 'custom_post_type_3' ) );
    }
}
add_action( 'pre_get_posts', 'add_custom_post_types_to_author_archive' );

 

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

  • پسندیدن 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...