Intereting Posts
Как получить мою страницу для загрузки библиотеки jQuery UI Effects? Как я могу прикреплять изображения к сообщению из медиа-библиотеки? Удаление фидов из заголовка с помощью функции? Элементы корзины WooCommerce WordPress после содержимого Hook & external template part Миграция с PDO с использованием SQLite для очистки новой установки с использованием MySQL Форма поиска с использованием POST и permalink Настройка частичного правостороннего интерфейса администратора Перебирайте сообщения по каждому члену и исключайте дубликаты должностей, назначенных нескольким терминам Как предотвратить публикацию публикаций слишком близко друг к другу? Скрыть номер уведомления уведомления и кнопки в wp-сервере Разная компоновка на второй странице Файлы cookie WordPress – wp_set_auth_cookie Как добавить существующие категории в сообщение с помощью wp_insert_post Пользовательские сообщения типа post не отображаются в виджетах архива

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

Я закодировал плагин 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() но я не совсем уверен, как это сделать, или если бы это был правильный путь. Любые идеи о наилучшем способе копирования файла из плагина в каталог темы?

благодаря

Solutions Collecting From Web of "Скопируйте файл из плагина в каталог темы"

Чтобы ответить на ваш вопрос, вы указали пути неверно: 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' );