Intereting Posts
Ссылки на hardcoding на wp_nav_menu WP-REST API не возвращает все свои конечные точки, 404 – на задокументированных конечных точках Сохранение пользовательских опций WordPress? Использование search.php без поля 's' в searchform.php Справка с «текстовым доменом», comment_form в теме WordPress Запуск цикла вне WordPress Могут ли добавляться /% year% /% monthnum% /% day% / struct tags в постоянные константы пользовательских сообщений? Multisite, Subdomain, общий каталог NFS Linux HELP Лучший способ создания многоэтапной формы с данными, сохраненными в учетной записи пользователя для последующего обновления? Многопользовательская среда вызывает проблемы в WordPress Как открыть модальное окно при нажатии ссылки меню WP? Значение метаданных wp не равно нулю Как получить всех пользователей от текущего пользователя meta (array)? Сохранить значение настраиваемого поля Metabox Получить показанное изображение

Скопируйте файл из плагина в каталог темы

Я закодировал плагин wordpress, используя php's 'copy ()', чтобы скопировать файл из моего каталога плагинов в мой каталог темы, но он не работает:

<? function file_replace() { $plugin_dir = plugin_dir_path( __FILE__ ) . '/library/front-page.php'; $theme_dir = get_stylesheet_directory() . 'front-page.php'; copy($plugin_dir, $theme_dir); if (!copy($plugin_dir, $theme_dir)) { echo "failed to copy $plugin_dir to $theme_dir...\n"; } } add_action( 'wp_head', 'file_replace' ); 

Я подумал, может быть, я должен использовать ! $wp_filesystem->put_contents() ! $wp_filesystem->put_contents() но я не совсем уверен, как это сделать, или если бы это был правильный путь. Любые идеи о наилучшем способе копирования файла из плагина в каталог темы?

благодаря

Чтобы ответить на ваш вопрос, вы указали пути неверно: plugin_dir_path( __FILE__ ) уже имеет завершающую косую черту в конце (наличие двух завершающих слэшей не должно быть проблемой, но безопаснее иметь один), а get_stylesheet_directory() не имеет конечной слэш в конце, поэтому вам нужно добавить его перед добавлением имени файла. Ваш последний код должен выглядеть следующим образом:

 <?php function file_replace() { $plugin_dir = plugin_dir_path( __FILE__ ) . 'library/front-page.php'; $theme_dir = get_stylesheet_directory() . '/front-page.php'; if (!copy($plugin_dir, $theme_dir)) { echo "failed to copy $plugin_dir to $theme_dir...\n"; } } add_action( 'wp_head', 'file_replace' );