Tôi đang xây dựng plugin WP đầu tiên của mình, nó chỉ nên tải một số tệp JS và CSS trên các trang cụ thể được chọn thông qua một biểu mẫu có sẵn trong khu vực Quản trị viên plugin. Sau khi được chọn trong biểu mẫu, Tiêu đề trang được lưu trữ trong bảng DB wp_options, sau đó dữ liệu được kéo ra trong một biến có tên $ page_selected. Để chỉ tải các tệp JS và CSS trong các trang được chọn trong biểu mẫu, tôi muốn sử dụng hàm is_page (), truyền biến $ page_selected làm tham số.
function my_custom_tooltip() {
if ( is_page($page_selected) ) {
wp_enqueue_style( 'custom_tooltip_frontend_css', plugins_url('custom-image-tooltip/custom-image-tooltip.css') );
wp_enqueue_script( 'custom_tooltip_frontend_js', plugins_url('custom-image-tooltip/custom-image-tooltip.js'), array('jquery'), '', true );
}
} add_action('wp_enqueue_scripts', 'my_custom_tooltip');
Thật không may Trong trường hợp của tôi rằng tuyên bố có điều kiện không hoạt động chính xác. Có cách nào để đạt được kết quả tương tự, khớp với trang được người dùng chọn trong biểu mẫu với Trang hiện tại đang được hiển thị không?
var_dump($page_selected)
$page_selected
biến không được xác định trong mã của bạn. Bạn có thể chỉ cho chúng tôi cách bạn đã xây dựng biểu mẫu trong khu vực quản trị viên và làm thế nào để bạn lưu trữ các giá trị được đặt trong biểu mẫu đó?
<select name="page_dropdown"> <option value=""><?php echo esc_attr( __( 'Select page' ) ); ?</option> <?php $pages = get_pages(); foreach ( $pages as $page ) { $option = '<option>'; $option.= $page->post_title; $option .= '</option>'; echo $option; } ?> </select>
Giả sử tôi chọn "test_page_1" trong biểu mẫu của mình - var_dump ($ page_selected) = string (11) "test_page_1";
is_page()
chấp nhận các biến làm tham số. Trong thực tế, bạn có thể sử dụng các biến làm tham số cho bất kỳ hàm PHP nào chấp nhận tham số. Tại sao bạn nói nó không? Nó sẽ hoạt động nếu bạn vượt qua giá trị chính xác trong biến. Tôi nghĩ vấn đề là biến không có giá trị mà bạn nghĩ nó có.