Câu hỏi thực sự ở đây là: Làm thế nào để tôi tìm thấy "ItsCode" chịu trách nhiệm cho lựa chọn này bằng cách sử dụng các công cụ như thanh firefox dev và nguồn thực tế?
Nếu bạn đang đề cập đến đầu ra / nguồn HTML, ví dụ như trên trang web demo chủ đề Storefront chính thức , chỉ cần nhấp chuột phải vào tiêu đề hoặc mục "Danh mục sản phẩm" và sau đó bạn có thể dễ dàng kiểm tra điều đó section
. Xem tài liệu MDN để biết các tùy chọn khác, chẳng hạn như biểu tượng "Chọn thành phần".
Bây giờ đối với " nguồn thực tế " (nghĩa là mã hoặc hàm PHP tạo ra phần "Danh mục sản phẩm" trên Trang bằng mẫu "Trang chủ"), bạn có thể tìm thấy nó trong inc/storefront-template-functions.php
.
if ( ! function_exists( 'storefront_product_categories' ) ) {
/**
* Display Product Categories
* Hooked into the `homepage` action in the homepage template
*
* @since 1.0.0
* @param array $args the product section args.
* @return void
*/
function storefront_product_categories( $args ) {
if ( storefront_is_woocommerce_activated() ) {
$args = apply_filters( 'storefront_product_categories_args', array(
'limit' => 3,
'columns' => 3,
'child_categories' => 0,
'orderby' => 'name',
'title' => __( 'Shop by Category', 'storefront' ),
) );
...
}
}
}
Vì vậy, storefront_product_categories()
chức năng PHP mà bạn đang tìm kiếm và bạn hoàn toàn có thể ghi đè nếu bạn muốn (xem https: //docs.wooc Commerce.com/document/set-up-and-use-a-child-theme/# phần-5 ). Nhưng nếu bạn chỉ muốn hiển thị các danh mục sản phẩm theo cách sắp xếp ngẫu nhiên, thì bạn chỉ cần sử dụng storefront_product_categories_args
để lọc các đối số truy vấn (trong trường hợp của bạn là orderby
):
add_filter( 'storefront_product_categories_args', function( $args ){
$args['orderby'] = 'rand';
return $args;
} );
Bộ lọc đó được gọi từ bên trong storefront_product_categories()
hàm và đây là các bộ lọc / hành động khác mà bạn có thể sử dụng:
Bộ lọc: storefront_product_categories_shortcode_args
Hoạt động: storefront_homepage_before_product_categories
Hoạt động: storefront_homepage_after_product_categories_title
Hoạt động: storefront_homepage_after_product_categories
Xem điều này nếu bạn không chắc chắn về sự khác biệt giữa "hành động" và "bộ lọc".
CẬP NHẬT: Làm thế nào bạn có thể tìm thấy mã?
Duyệt qua tài liệu chủ đề Storefront :
Tôi đang tìm cách để tìm một chức năng trong một chủ đề mà WooC Commerce (công ty) đã thiết kế hoặc trong bất kỳ chủ đề nào thực sự.
Đầu tiên, kiểm tra (và đọc) tài liệu của chủ đề.
Nếu không có hoặc bạn không / không thể tìm thấy thông tin bạn cần, hãy thử những gì @motivast đã đề xuất - Kiểm tra các thành phần trên trang, tìm mã HTML phù hợp và / hoặc CSS class
/ id
, sau đó tìm kiếm các tệp chủ đề cho nó HTML hoặc CSS class
/ id
cho đến khi bạn tìm thấy đúng tệp hoặc mã PHP / function
.
Ví dụ: trên trang web demo chủ đề Storefront, HTML của phần danh mục sản phẩm là:
<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
...
</section>
Vì vậy, bạn có thể tìm kiếm các tệp chủ đề bằng một trong những từ khóa sau: (Tôi sẽ bắt đầu từ kết quả khớp cụ thể nhất hoặc gần nhất với HTML được tạo)
<section class="storefront-product-section storefront-product-categories"
class="storefront-product-section storefront-product-categories"
storefront-product-categories
storefront-product-section
Giả sử bạn không biết về tài liệu Storefront / theme, thực hiện các tìm kiếm ở trên cuối cùng sẽ đưa bạn đến đúng tệp hoặc mã PHP / function
.
Nếu bạn cần hỗ trợ thêm, hãy cho tôi biết và tôi sẽ cập nhật câu trả lời này cho phù hợp.