رفتن به مطلب

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


sir1

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

با سلام

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

این کدو پیدا کردم ولی کار نکرد:

<?php
function exclude_category($query) {
if ($query->is_home) {
  $query->set('cat', '-20,-10');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
?>

 

لینک به ارسال

سلام. اگر از ووکامرس استفاده می کنید میتونید از این لینک استفاده کنید:

https://docs.woothemes.com/document/exclude-a-category-from-the-shop-page/

لینک به ارسال

مشخصه دیگه

بجای knives باید slug یا همون اسم دسته که تو ادرس دسته میاد رو بدید.

 

add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if ( ! is_admin() && is_shop() ) {

		$q->set( 'tax_query', array(array(
			'taxonomy' => 'product_cat',
			'field' => 'slug',
			'terms' => array( 'knives' ),
			'operator' => 'NOT IN'
		)));
	
	}

	remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}

 

لینک به ارسال

ممنون

الان دسته زیر که که برای ووکامرس هست در کد بالا قرار دهید تا منظورتونو بگیرم

http://www.acgih.ir/product-category/%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%87%d8%a7%db%8c-%d8%a8%d9%87%d8%af%d8%a7%d8%b4%d8%aa-%d8%ad%d8%b1%d9%81%d9%87-%d8%a7%db%8c/

لینک به ارسال
در 10 ساعت قبل، sir1 گفته است :

ممنون

الان دسته زیر که که برای ووکامرس هست در کد بالا قرار دهید تا منظورتونو بگیرم

http://www.acgih.ir/product-category/%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%87%d8%a7%db%8c-%d8%a8%d9%87%d8%af%d8%a7%d8%b4%d8%aa-%d8%ad%d8%b1%d9%81%d9%87-%d8%a7%db%8c/

اول یه نکته بگم، همیشه وقتی یک دسته درست می کنید slug اون رو فارسی ننویسید.

توی مورد شما هم اگر slug دستتون فارسی هست به جاش id دسته رو بگذارید، احتمالا کار بده.

لینک به ارسال
در 15 ساعت قبل، rezakianoosh گفته است :

مشخصه دیگه

بجای knives باید slug یا همون اسم دسته که تو ادرس دسته میاد رو بدید.

 


add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if ( ! is_admin() && is_shop() ) {

		$q->set( 'tax_query', array(array(
			'taxonomy' => 'product_cat',
			'field' => 'slug',
			'terms' => array( 'knives' ),
			'operator' => 'NOT IN'
		)));
	
	}

	remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}

 

این کدو توضیح بدید که چیکارش کنیم و کجاشو باید درست کنیم. من بجای slug در کد بالا ایدی دسته را قرار دادم ولی مخفی نشد

لینک به ارسال

به جای slug نه . slug رو بکنید id  و بعد توی terms داخل ارایه ی اون 'knives' رو پاک کنید به جاش ای دی دستتونو بگذارید. تست نکردمه .

لینک به ارسال

کدو به این صورتی که گفتین در functions.php قرار دادم ولی کار نمیکنه.

<?php
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if ( ! is_admin() && is_shop() ) {

		$q->set( 'tax_query', array(array(
			'taxonomy' => 'product_cat',
			'field' => 'id',
			'terms' => array( '3019' ),
			'operator' => 'NOT IN'
		)));
	
	}

	remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}
?>

 

لینک به ارسال

ببخشید به جای id بگذارید term_id و اون عدد رو هم فکر نکنم نیاز باشه به صورت '3019' بنویسید. میتونید به صورت 3019 بنویسید توی ارایه.

لینک به ارسال
<?php
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if ( ! is_admin() && is_shop() ) {

		$q->set( 'tax_query', array(array)
			'taxonomy' => 'product_cat',
			'field' => 'term_id',
			'terms' => array(3019),
			'operator' => 'NOT IN'
		)));
	
	}

	remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}
?>

مهندس اینطوری هم جواب نداد

لینک به ارسال
  • 2 سال بعد...
در در 5/24/2016 at 22:38، sir1 گفته است :

<?php
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

	if ( ! $q->is_main_query() ) return;
	if ( ! $q->is_post_type_archive() ) return;
	
	if ( ! is_admin() && is_shop() ) {

		$q->set( 'tax_query', array(array)
			'taxonomy' => 'product_cat',
			'field' => 'term_id',
			'terms' => array(3019),
			'operator' => 'NOT IN'
		)));
	
	}

	remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}
?>

مهندس اینطوری هم جواب نداد

 

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

لینک به ارسال

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

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

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

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

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

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

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

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

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