我有一个主题,我需要在functions.php
文件我知道这里的最佳做法是在儿童主题中放置一个自定义functions.php
. 现在,这是原始文件的一部分:
function mytheme_setup() {
...
add_image_size( \'mytheme-l-thumbs\' , 750 , 423 , true);
add_image_size( \'mytheme-m-thumbs\' , 555 , 313 , true);
add_image_size( \'mytheme-s-thumbs\' , 450 , 254 , true);
add_image_size( \'mytheme-square-thumbs\' , 750 , 750 , true);
add_image_size( \'mytheme-nocrop-thumbs\' , 750 , 1500 , false);
}
add_action( \'after_setup_theme\', \'mytheme_setup\' );
我想覆盖每个
add_image_size
按集合
crop
在我的孩子主题上出错。我尝试了复制(&A);将函数粘贴到子主题上,但最终出现以下错误:
无法在/themes/mytheme/functions中重新声明mytheme\\u setup()(以前在/themes/mytheme-child/functions.php:11中声明)。php在线88
我怎么能做到?
最合适的回答,由SO网友:Pieter Goosen 整理而成
当函数被钩住时,很容易在子主题中更改它。你需要做的是
删除原来的回拨功能
将函数复制到子主题并重命名。
根据需要进行自定义
重新连接回拨功能
您可以尝试以下方法:
// Remove the callback function from the hook
remove_action( \'after_setup_theme\', \'mytheme_setup\' );
// Copy the function, rename and do what you need
function my_new_callback()
{
// Modify what you need
}
// Rehook your custom callback
add_action( \'after_setup_theme\', \'my_new_callback\' );