重写子主题中的函数TwentyT十二_SCRIPTS_STYLES

时间:2016-01-26 作者:Ramanan

我想用它的子函数来覆盖将脚本和样式排列在主题212中的函数。php。

我跟踪了这个guide 但无法使其工作。

有人能提出一个可能的解决方法吗?

为便于快速参考,函数为here

我不想使用wp_deregister_style/script 因为我想保持我的代码干净。

1 个回复
最合适的回答,由SO网友:Fabien Quatravaux 整理而成

如果要删除整个twentytwelve_scripts_styles 函数,则必须移除动作挂钩:

remove_action( \'wp_enqueue_scripts\', \'twentytwelve_scripts_styles\' );
然而,这段代码必须在函数被12个代码钩住之后,在操作被激发之前执行(因为在它之后太晚了)。儿童主题functions.php 文件在二十一点前加载,所以您必须调用remove_action 从之前激发的动作wp_enqueue_scripts, 例如init.

add_action( \'init\', \'answer_215713_override_twentytwelve_script\' );
function answer_215713_override_twentytwelve_script(){
    remove_action( \'wp_enqueue_scripts\', \'twentytwelve_scripts_styles\' );
}
您链接的教程中说:

[…]您需要将此函数附加到一个钩子,该钩子将在父主题函数附加到的钩子之后触发。这是因为您无法在启动操作之前将其删除。

我认为这是错误的。事实恰恰相反:您必须将您的函数附加到将触发的挂钩上before 它是由父主题附加的挂钩,否则取消操作将很晚。事实上,您不能删除操作after 他们被解雇了(没用)。

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();