رفتن به مطلب

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


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/

  • امتیاز 2
لینک به ارسال

مشخصه دیگه

بجای 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' );

}

 

  • امتیاز 4
لینک به ارسال

ممنون

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

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 دسته رو بگذارید، احتمالا کار بده.

  • امتیاز 2
لینک به ارسال
در 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' رو پاک کنید به جاش ای دی دستتونو بگذارید. تست نکردمه .

  • امتیاز 3
لینک به ارسال

کدو به این صورتی که گفتین در 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 بنویسید توی ارایه.

  • امتیاز 2
لینک به ارسال
<?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' );

}
?>

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

 

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

لینک به ارسال

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

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



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