Tôi sắp bắt đầu dự án WordPress đầu tiên của mình và tôi có nhiệm vụ di chuyển mã lõi tùy chỉnh ghi đè lõi vào các chức năng / tệp riêng biệt (theo cách này sẽ dễ duy trì hơn khi chúng tôi nâng cấp trong tương lai.
Tôi đã và đang làm nghiên cứu và có vẻ như add_filtervà apply_filtervà do_actionvà add_actiondường như là con đường để đi. Tôi vẫn không chắc chắn về cách họ làm việc mặc dù. Là những phương thức mà tôi sử dụng để ghi đè lên các phương thức cốt lõi? Tôi bối rối vì add_filtersử dụng từ này addkhi tôi cảm thấy nó giống với dòng trên replacehoặc overwrite(trừ khi tôi hiểu nhầm)
Tôi chỉ đọc câu trả lời đầu tiên cho điều này ( câu trả lời về tacos)
Vì vậy, có ba bước mà tác giả đã sử dụng để mô tả cách sử dụng add_filter:
Bước 1: giá trị tĩnh cho biến $ taco
<?php $taco = 'chicken'; ?>
Bước 2:
<?php
$taco = apply_filters( 'get_taco', 'chicken' );
?>
Bước 3:
<?php
add_filter( 'get_taco', 'my_special_order' );
function my_special_order( $content ) {
return 'shredded beef';
}
?>
Vì vậy, trong tình huống này là apply_filterchỉ cần tạo ra một phương thức động khi đang bay và làm cho nó trả về chickenchuỗi? Hoặc giả định ở đây là có một phương thức WordPress cốt lõi được gọi get_tacovà việc sử dụng apply_filtersẽ giúp ghi đè bất cứ chức năng ban đầu nào?
Ngoài ra, bạn có thể chỉ apply_filtermột cái gì đó mà bạn đã add_filtered? Nói cách khác, sẽ apply_filter('get_taco');không hoạt động nếu tôi không xác định add_filter('get_taco', 'my_special_order');AND function my_special_order ($content) ...trước?
Tôi có đặt các bộ lọc này trong tệp tin.php không? Xin lỗi vì đã bắn phá bạn bằng những câu hỏi, tôi đến từ Ruby on Rails nên tôi hoàn toàn không biết gì về WordPress.