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

  • نویسنده موضوع sir1
  • تاریخ شروع

sir1

کاربر عضو
با سلام

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

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

?>

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


دوستان لطفا راهنمایی کنند

 

جاویدان

کاربر عضو
با سلام

دوست عزیز

چرا کار نکرد ؟ یعنی شما id دسته رو قرار دادید و نشون داده شد یا اصلا عمل نکرد ؟

موفق باشید

 

sir1

کاربر عضو
من ایدی یکی از دسته های ووکامرس را وارد کردم ولی دسته مخفی نمیشه.

به صورت زیر یکی از دسته های سایتو وارد کردم کار نکرد:

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


ولی به صورت زیر کار کرد و بجای دسته فهرست سایتو مخفی کرد :-/

کد:
<?php
function exclude_category($query) {
if ($query->is_home) {
  $query->set('cat', '47');
}
return $query;
}
add_filter('pre_get_posts', 'exclude_category');
?>
 

جاویدان

کاربر عضو
با سلام

دوست عزیز

یه مشکلی که در کد هست اینه که برای وردپرس خوب کار می کنه ولی برای ووکامرس کمی نادرست میشه چون ساختار خروجی ووکامرس باید توش لحاظ بشه که هنوز دوستان هیچگونه راهنمایی در موردش نداشتن

<?php
function exclude_category_home( $query ) {    if ( $query->is_home ) {        $query->set( 'cat', '-9050,-9166' );    }    return $query;}add_filter( 'pre_get_posts', 'exclude_category_home' );?>

این چند تا کد رو پیدا کردم ولی نمیدونم چقدر درست باشند کد اول کل محصولات رو نشون نمیده

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' ), // Don't display products in the knives category on the shop page
            'operator' => 'NOT IN'
        )));

    }

    remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}

کد دوم قسمت ساب منو رو نشون نمیده

/* Exclude Category from Shop*/

add_filter( 'get_terms', 'get_subcategory_terms', 9166, 3 );

function get_subcategory_terms( $terms, $taxonomies, $args ) {

  $new_terms = array();

  // if a product category and on the shop page
  if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_shop() ) {

    foreach ( $terms as $key => $term ) {

      if ( ! in_array( $term->slug, array( 'project1', 'susan' ) ) ) {
        $new_terms[] = $term;
      }

    }

    $terms = $new_terms;
  }

  return $terms;
}

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

.widget_product_categories .cat-item-16 {display:none}

این کدها رو تو قسمت پشتیبانی وردپرس می تونی جستجو کنی و نتایج بیشتری رو ببینی و اگر به نتیجه مناسب رسیدی حتما همینجا منتشر کن که دوستان زیادی مشتاق دیدنش هستن

موفق باشی

 

sir1

کاربر عضو
ممنون از شما آقای جاویدان.

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

 

جاویدان

کاربر عضو
با سلام

دوست عزیز

حق با شماست این کدها رو میشه در فانکشن قالب قرار داد ولی بهتره در اولش و داخل <?php>? قرار بگیره البته سعی میشه کدهای درست یا افزونه ای برای اینکار پیدا کنیم

البته یه راه که بنده استفاده کردم اینه بدون کد در پیکربندی = محصولات = نمایش = نمای برگه فروش  = رو به حالت به حالت نمایش دسته و زیر دسته ها قرار دادم و چون از افزونه ویژوال در صفحه اول استفاده شده اگر مثلا یک دسته بندی رو در ساختار نذارم نمایش داده نمیشه ولی در لیست محصولات موجود هست و در برگه خودش کامل محصولاتش رو نشون میده و فقط در صفحه اول ممکنه دسته بندی رو نشون بده که اونم اگر برگه دیگه ای برای اول فروشگاه تعریف بشه نشون داده نمیشه .

موفق باشید

 

sir1

کاربر عضو
نمایش محصول را به حالت دسته و زیر دسته بردم ولی باز اون دسته در محصوولات میاد.

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

از مدیر محترم تا همه مسولان راهی دارن؟

 

جاویدان

کاربر عضو
با سلام

دوست عزیز

ببینید خیلی ساده است شما مثلا برگه اول فروشگاه تون shop هستش حالا اگر سایت شما فروشگاه محور باشه هر برگه ای می تونه برگه اول سایت باشه و محصولاتی رو نشون بده که شما می خوای البته با کمک افزونه ویژوال کمپوزر و صفحه اصلی فروشگاه shop به عنوان محل قرار گیری محصولات تازه استفاده بشه . اینجوری تا زمانی که کد مناسب رو پیدا کنید می تونید از این روش استفاده کنید نیازی به حالت قبلی که گفتم هم نیست .

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

موفق باشید

 

sir1

کاربر عضو
فروشگاه من در یک برگه است.

اگه می خواهید دسترسی هاست و پیشخوانو بهتون بدم تا تست کنید.

 

sir1

کاربر عضو
یه سر به سایت زیر بزنید یه چیزایی در مورد مخفی کردن دسته محصولات گفته:



 
بالا