Intereting Posts
Потребление памяти в w3-total-cache vs wp-super-cache? Показать все продукты на одной странице с помощью WooCommerce Новый шаблон, где разместить CSS? Настройка функции загрузки страницы Woocommerce Проблема с номером заказа Мета в Woocommerce Удаление некоторых размеров изображений из вложений meta Удаление постоянной ссылки с большого пальца в двадцать один Как тему блоков кода, отформатированных prettify.js, встроенных в WP-Markdown? Динамически создавать термины в таксономии, когда публикуется пользовательский тип публикации. Почти готово! Получать сообщения на основе заголовка соответствия тегам Не удается редактировать изображения Я пытаюсь использовать API настройки темы, но я все время получаю сообщение об ошибке Получить сообщения из пользовательского сообщения Тип конкретной категории? создать пользовательский макет списка продуктов woocommerce Условный дисплей для пользовательских полей / таксономии

Почему включение файла в функции functions.php не работает?

Например, если я напишу какой-то код (ed добавьте пользовательский тип сообщения или что-то еще) в функции functions.php моей темы, он отлично работает. Если я переведу его в новый файл, include() файл в файл functions.php моей темы, он больше не работает (но код отладки с использованием error_log() все еще работает.

например

Вот функции functions.php:

 <?php // ###### functions.php ###### error_log("fu_debug: Including the post type."); add_action('init', 'fu_create_project_post_type'); function fu_create_project_post_type() { error_log("fu_debug: create project post type"); register_post_type( 'fu_project', array( 'labels' => array( 'name' => __( 'Projects' ), 'singular_name' => __( 'Project' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'projects'), ) ); } ?> 

Это прекрасно работает. Теперь, если я изменю функции.php на это:

 <?php // ###### functions.php ###### include "newfile.php"; ?> 

и поместите код внутри newfile.php следующим образом:

 <?php // ###### newfile.php ###### error_log("fu_debug: Including the post type."); add_action('init', 'fu_create_project_post_type'); function fu_create_project_post_type() { error_log("fu_debug: create project post type"); register_post_type( 'fu_project', array( 'labels' => array( 'name' => __( 'Projects' ), 'singular_name' => __( 'Project' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'projects'), ) ); } ?> 

код больше не работает, но сообщение error_log () все еще отображается в журналах.

Почему сообщение об ошибке все еще работает, но код WordPress не работает?

Solutions Collecting From Web of "Почему включение файла в функции functions.php не работает?"

При включении файлов в functions.php вам нужно указать правильный get_template_directory() , используя get_template_directory() :

 include( get_template_directory() . '/newfile.php' ); 

Это укажет на тему PARENT:
require_once( get_template_directory() . '/include/myscript.php' );

Если вы используете тему CHILD (и вы должны!), Используйте это:
require_once( get_stylesheet_directory() . '/include/myscript.php' );