رفتن به مطلب
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' );

}
?>

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

به اشتراک گذاری این ارسال


لینک به ارسال
در در 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 قرار دهید.


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