как переопределить functions.php в дочерней теме?

<p>у меня есть тема, и мне нужно переопределить некоторые ее специфические особенности в файле <code>functions.php</code>. я знаю, что лучшая практика заключается в том, чтобы делать это в дочерней теме, помещая пользовательский <code>functions.php</code>. теперь это часть исходного файла:</p><pre><code>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' ); </code></pre><p>и я хочу переопределить каждый <code>add\_image\_size</code>, установив для <code>crop</code> значение false в моей дочерней теме. я попытался скопировать и вставить функцию на дочернюю тему, но я закончил с этой ошибкой:</p><blockquote> <p>невозможно повторно объявить функцию mytheme\_setup () (ранее объявленную в /themes/mytheme-child/functions.php:11) в /themes/mytheme/functions.php в строке 88</p> </blockquote><p>как я могу это сделать?</p>

<p>когда функция подключена, это легко изменить в дочерней теме. что вам нужно сделать, это</p><ul> <li> <p>удалить оригинальную функцию обратного вызова</p> </li> <li> <p>скопируйте функцию в свою дочернюю тему и переименуйте ее.</p> </li> <li> <p>делайте ваши настройки по мере необходимости</p> </li> <li> <p>перезапустить функцию обратного вызова</p> </li> </ul><p>вы можете попробовать следующее:</p><pre><code>// 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' ); </code></pre>