Các chủ đề con chỉ ghi đè các tệp php (như header.php) được bao gồm với các hàm như get_template_part hoặc get_header, v.v.
Cách chính xác để thêm tập lệnh vào WordPress là với wp_enqueue_script . Nếu chủ đề gốc của bạn sử dụng điều này, bạn có thể ghi đè các tệp JS bằng cách sử dụng wp_dequeue_script và mê hoặc chính bạn.
Giống như vậy ...
<?php
// hook in late to make sure the parent theme's registration
// has fired so you can undo it. Otherwise the parent will simply
// enqueue its script anyway.
add_action('wp_enqueue_scripts', 'wpse26822_script_fix', 100);
function wpse26822_script_fix()
{
wp_dequeue_script('parent_theme_script_handle');
wp_enqueue_script('child_theme_script_handle', get_stylesheet_directory_uri().'/scripts/yourjs.js', array('jquery'));
}
Nếu chủ đề gốc không sử dụng wp_enqueue_script, thì có lẽ nó đang nối vào wp_head (hoặc wp_footer) để lặp lại các tập lệnh ở đó. Vì vậy, bạn sẽ sử dụng remove_action để loại bỏ các hàm đó lặp lại các tập lệnh, và sau đó ghi lại tập lệnh của riêng bạn.
Nếu tập lệnh được mã hóa cứng vào tệp mẫu, bạn sẽ chỉ cần thay thế tệp mẫu đó trong chủ đề con của mình mà không có thẻ tập lệnh.
Nếu họ đã sử dụng các cuộc gọi wp_enqueue_script sử dụng get_stylesheet_directory_uri , thì bạn không cần phải làm gì cả. Vì điều này không xảy ra, bạn sẽ phải chọc ngoáy và xem tác giả chủ đề đã làm gì.