子主题仅覆盖包含在get\\u template\\u part或get\\u header等函数中的php文件(如header.php)。
向WordPress添加脚本的正确方法是wp_enqueue_script. 如果父主题使用此选项,则可以使用wp_dequeue_script 让你自己排队。
就像这样。。。
<?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\'));
}
如果父主题没有使用wp\\u enqueue\\u脚本,那么它可能会挂接到wp\\u head(或wp\\u footer)以在那里呼出脚本。所以你会使用
remove_action 要摆脱那些回显脚本的函数,然后将自己的脚本排入队列。
如果脚本是硬编码到模板文件中的,则只需在子主题中替换该模板文件,而不需要使用script标记。
如果他们使用wp\\u enqueue\\u脚本调用get_stylesheet_directory_uri, 那你什么都不用做。既然这没有发生,你只需要四处看看主题作者做了什么。