Ẩn danh mục cụ thể khỏi tiện ích danh mục


8

Tôi đang cố gắng giấu một số lượng lớn các danh mục khỏi tiện ích danh mục của mình. Tôi đã thử một vài plugin nhưng dường như không ai trong số họ muốn cho tôi sử dụng tùy chọn thả xuống. Tôi đã xem xét hook của widget_clists_args và đó có vẻ là điều tôi muốn nhưng tôi không thể làm cho nó hoạt động được.

Dù sao đây là mã của tôi

function widget_categories_args_filter( $cat_args ) {
$exclude_arr = array( 57,61,63,56,55,62,52,53,54,67,65 );

if( isset( $cat_args['exclude'] ) && !empty( $cat_args['exclude'] ) )
    $exclude_arr = array_unique( array_merge( explode( ',', $cat_args['exclude'] ), $exclude_arr ) );
$cat_args['exclude'] = implode( ',', $exclude_arr );
return $cat_args;
}

add_filter( 'widget_categories_args', 'widget_categories_args_filter', 10, 1 );

Tôi đã lấy nó từ đây: https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_clists_args

Tôi đang đặt điều này trong các chức năng của chủ đề của tôi. Điều đó không quan trọng mặc dù chức năng được đặt cho plugin, phải không?


Hãy thử tăng số thứ tư lên một số thứ cao như 1000
s_ha_dum

Điều này làm việc cho tôi cho các widget thể loại đi kèm.
s_ha_dum

@s_ha_dum số thứ tư? Trong dòng add_filter ()?
FranticJ3

Xin lỗi, đối số thứ tư. Bạn có 1. Hãy thử 1000. Như tôi đã nói, điều này làm việc cho tôi vì vậy có thể có một chức năng khác can thiệp. Đặt mức độ ưu tiên cao có thể cung cấp cho bạn từ cuối cùng. Bạn đang sử dụng tiện ích thể loại Core?
s_ha_dum

@s_ha_dum có Tôi đang sử dụng tiện ích danh mục cốt lõi. Tôi đặt nó ở mức 10000 và nó vẫn không che giấu chúng.
FranticJ3

Câu trả lời:


8

Tôi biết bài đăng này khá cũ, nhưng vì tôi đã gặp phải cùng một vấn đề và bài đăng này đã đưa ra một giải pháp cao hơn, tôi nghĩ rằng tôi đã thêm nó, nó hiệu quả với tôi.

Nguồn: http://coffeecupweb.com/how-to-exclude-or- leather-c chuyên-from-c Ab-igetget-in-wordpress-idebar /

//Hide categories from WordPress category widget
function exclude_widget_categories($args){
    $exclude = "1,4,8,57,80";
    $args["exclude"] = $exclude;
    return $args;
}
add_filter("widget_categories_args","exclude_widget_categories");

1
Tôi có thể xác minh công việc này tuyệt vời vào tháng 3 năm 2018! Mẹo thưởng: di chuột qua một danh mục trên trang Danh mục và tìm kiếm "tag_id" trong liên kết ở cuối trình duyệt của bạn. Vâng, tôi biết nó nói tag_id, nhưng nó vẫn đề cập đến danh mục.
Eric Hepperle - CodeSlayer2010

1

Ẩn danh mục không được ghi nhận / mặc định trong WooC Commerce:

Tôi đoán tôi không phải là người duy nhất đến trang này để tìm cách ẩn danh mục mặc định / chưa được phân loại được giới thiệu trong WooC Commerce 3.3.

Nếu bạn là một trong số họ, thay vì mã hóa ID danh mục có thể khác nhau trong các môi trường / cài đặt khác nhau, bạn có thể sử dụng đoạn mã sau, được sửa đổi từ đoạn trích của Mike Jumper để ẩn nó khỏi tiện ích Danh mục sản phẩm Wooc Commerce:

<?php // Do not include this if already open!

/**
 * Code goes in theme functions.php.
 *
 * If you use dropdown instead of hierachical view, 
 * hook to the following filter instead: 
 *      `woocommerce_product_categories_widget_dropdown_args`
 */
add_filter( 'woocommerce_product_categories_widget_args', 'custom_woocommerce_product_categories_widget_args' );

function custom_woocommerce_product_categories_widget_args( $args ) {
  $args['exclude'] = get_option( 'default_product_cat' );
  return $args;
}

0

Tác phẩm này: https://gist.github.com/peltopiri/76e7d1143e33b424633114103cfae5ec

<?php
function exclude_woocommerce_widget_product_categories($widget_args) {
    //Insert excluded category ids here
    $excludes = array(12,33);
    $includes = explode(",",$widget_args['include']);

    $includes = array_filter($includes, function($value) use ($excludes) {
      return !in_array($value, $excludes);
    });
    $widget_args["include"] = implode(",", $includes);
    return $widget_args;
}
add_filter( 'woocommerce_product_categories_widget_dropdown_args', 'exclude_woocommerce_widget_product_categories');
add_filter( 'woocommerce_product_categories_widget_args', 'exclude_woocommerce_widget_product_categories');

0

Sau nhiều lần tìm kiếm và kiểm tra, việc ẩn các danh mục bài đăng cho các mục danh sách và thả xuống được thực hiện riêng vì chúng được gọi bởi các id bộ lọc khác nhau.

Đối với mục danh mục sử dụng

add_filter("widget_categories_args","YOUR_CUSTOM_FUNCTION");

Đối với các mục danh mục thả xuống sử dụng

add_filter("widget_categories_dropdown_args","YOUR_CUSTOM_FUNCTION");

Tham khảo: https://basicwp.com/exclude-c chuyên mục-from-c Ab-widgets-in-wordpress /


0

Tôi đã có thể ẩn một danh mục bằng CSS:

li.cat-item-1 {
    display: none;
}

Tôi đặt đoạn mã CSS này trong "CSS bổ sung" của chủ đề.

Loại 1 là "Chưa được phân loại", đây là loại tôi muốn ẩn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.