Tôi có một plugin tạo bảng điều khiển trên trang sau:
mysite.com/wp-content/plugins/myplugin/includes/mypanel.php
Tôi muốn sử dụng bảng này trên trang sau
mysite.com/mypanel
Giải pháp mà tôi đã thử là sử dụng mypanel.php
làm mẫu trang như dưới đây:
add_filter( 'page_template', 'wpa3396_page_template' );
function wpa3396_page_template( $page_template )
{
if ( is_page( 'mypanel' ) ) {
$page_template = dirname( __FILE__ ) . '/includes/mypanel.php';
}
return $page_template;
}
Bằng cách này, trang sẽ hiển thị nhưng không có javascript nào hoạt động. Vì vậy, tôi đã cố gắng nhập javascript của plugin trong các chức năng php.
add_action('wp_enqueue_scripts','Load_Template_Scripts_wpa83855');
function Load_Template_Scripts_wpa83855(){
if ( strpos(get_page_template(), 'mypanel.php') !== false ) {
wp_enqueue_script('wtd', $_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/myplugin/js/wtd.js');
}
}
Mà kết quả 403 lỗi bị cấm. Tôi đã thêm thử thêm thư mục .htaccess vào trang của plugin nhưng nó vẫn tiếp tục báo lỗi.
Xin vui lòng cho tôi biết đâu là cách chính xác để giải quyết vấn đề này.
EDIT: Sau một số câu trả lời dưới đây (cảm ơn mọi người). Tôi đã chuyển mã của mình sang trang của plugin và không còn lỗi 403 bị cấm. Nhưng các nút của tôi không hoạt động và tôi cảm thấy như tệp js của tôi không chạy trên trang.
Tập tin js của tôi bắt đầu bằng: jQuery(document).ready(function()
Đây là mã cuối cùng trên trang của plugin:
/* Make tisort-tasarla page as template */
add_filter( 'page_template', 'wpa3396_page_template' );
function wpa3396_page_template( $page_template )
{
if ( is_page( 'tisort-tasarla' ) ) {
$page_template = dirname( __FILE__ ) . '/includes/tshirt-designer-design-template.php';
}
return $page_template;
}
/* Add Javascript to T-Shirt Design Page */
add_action('wp_enqueue_scripts','Load_Template_Scripts_wpa83855');
function Load_Template_Scripts_wpa83855(){
if ( is_page( 'tisort-tasarla' ) ) {
wp_enqueue_script( 'wtd', plugins_url( '/js/wtd.js' , __FILE__ ), array( 'jquery' ));
}
}
.htaccess
tệp không? Ngoài ra, hãy thử sử dụngplugins url()
để có được đường dẫn đến thư mục plugin của bạn và xem nếu nó giúp.