Tôi muốn sửa đổi đường dẫn $ trong bộ lọc sau. Nó có 1 đầu vào và 2 args.
function documents_template( $template = '' ) {
$path = DOCUMENTS_INCLUDES_DIR . '/document/' . $template;
return apply_filters( 'document_template', $path, $template );
}
Đây là chức năng của tôi để thêm bộ lọc, nó nhận được thông báo lỗi, làm thế nào để có nó đúng không?
function my_template( $template = '' ){
$path = MY_INCLUDES_DIR . '/document/'. $template;
return $path;
}
add_filter( 'document_template','my_template', 10, 2 );
Tôi đã cố gắng thay đổi giá trị trả lại của mình như sau, nó cũng không hoạt động:
return apply_filters( 'my_template', $path, $template);
Với các câu trả lời bên dưới, bộ lọc mới của tôi vẫn không hoạt động, vì vậy, có thể đó là do bộ lọc của tôi nằm trong một lớp? đây là mã hoàn toàn mới:
Class My_Class{
function __construct() {
add_filter( 'document_template', array( $this, 'my_template',10, 2 ) );
}
function my_template( $path, $template ){
$path = MY_INCLUDES_DIR . '/document/'. $template;
return $path;
}
}