Tôi đã tạo một hàm trong plugin của mình myplugin
với tên foo
, làm thế nào để gọi nó từ frontend?
e.g. index.php?
Tôi đã tạo một hàm trong plugin của mình myplugin
với tên foo
, làm thế nào để gọi nó từ frontend?
e.g. index.php?
Câu trả lời:
Giống như bất kỳ cách nào khác:
foo();
Các plugin hoạt động được tải trước các tệp chủ đề
Bạn có thể muốn kiểm tra xem plugin của bạn đã được kích hoạt chưa và chức năng có sẵn để mọi thứ không thành hình quả lê nếu bạn quên kích hoạt nó, như:
if(function_exists('foo')){
foo();
} else {
echo "oh dear you haven't activated/installed 'myplugin', go do that before the 'foo' feature is available";
}
Ngoài ra, hãy nhớ rằng foo
một tên hàm rất chung chung, có lẽ plugin "omgfoo" cũng có một foo
chức năng. Vì vậy, tiền tố / không gian tên hàm của bạn thành một cái gì đó độc đáo
Cuối cùng, bạn sẽ muốn sử dụng các hành động và bộ lọc, vì chúng an toàn hơn và thực hành tốt hơn, bạn có thể tiếp tục đọc về điều đó tại đây
Bạn không. Một Theme không nên dựa vào một plugin ngoại trừ trong một môi trường được kiểm soát chặt chẽ. Sử dụng hành động và bộ lọc thay thế.
Vì vậy, trong chủ đề của bạn, bạn có thể sử dụng:
do_action( 'before_header' );
… hoặc là …
$bg_options = array (
'wp-head-callback' => 't5_custom_background_frontend',
'default-color' => 'f0f0f0',
'default-image' => '',
);
$bg_options = apply_filters( 't5_theme_bg_options', $bg_options );
add_theme_support( 'custom-background', $bg_options );
add_action( 'login_head', $bg_options['wp-head-callback'] );
Trong plugin của bạn, bạn sử dụng add_action()
và add_filter()
để thay đổi hoặc thêm nội dung mới. Bằng cách này, chủ đề sẽ vẫn hoạt động khi plugin đã bị hủy kích hoạt và bạn không phải sử dụng function_exists()
.