رفتن به مطلب

چند مشکل با پست سفارشی (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' );

 

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

لینک به ارسال

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

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

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

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

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

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

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

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

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