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_filter
và apply_filter
và do_action
và add_action
dườ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_filter
sử dụng từ này add
khi tôi cảm thấy nó giống với dòng trên replace
hoặ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_filter
chỉ cần tạo ra một phương thức động khi đang bay và làm cho nó trả về chicken
chuỗi? Hoặc giả định ở đây là có một phương thức WordPress cốt lõi được gọi get_taco
và việc sử dụng apply_filter
sẽ giúp ghi đè bất cứ chức năng ban đầu nào?
Ngoài ra, bạn có thể chỉ apply_filter
một cái gì đó mà bạn đã add_filter
ed? 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.