Intereting Posts
Как добавить полную ссылку редактирования в редактор интерфейса? Как удалить меню списка страниц в заголовке в теме «Двадцать десять»? Почему WordPress добавляет 0 (ноль) к ответу Ajax? Как я могу получить идентификатор виджета после перетаскивания для wordpress с помощью jquery? Добавьте встроенный HTML в сообщения, опубликованные в течение последних 24 часов Как зарегистрировать активацию и деактивировать крючок в плагине с использованием шаблона ООП Добавление кнопки покупки в сообщение в блоге (Woocommerce) Как выбрать контент из должности, которая находится в правильной категории? Получить локализованное значение Заказывать результаты архива по идентификатору сообщения в шаблоне пользовательской таксономии Wp Rest API запрашивает сообщения из пользовательской таксономии Текущий идентификатор сообщения – относительный URL Как добавить значки в список сообщений (edit.php) в admin Добавленные комментарии, но они отображаются выше содержания, а не ниже FTP-установка WordPress

Работа с файловой системой Frontend работает, но я получаю ошибку «Constant ABSPATH уже определен»

Я загружаю файлы из интерфейса. Он работает отлично, но я получаю сообщение об ошибке:

Константа ABSPATH уже определена

Это находится в верхней части моего сценария загрузки файлов:

require ($_SERVER['DOCUMENT_ROOT'] . "/wp-load.php"); // require two files that are included in the wp-admin but not on the front end. These give you access to some special functions below. require ($_SERVER['DOCUMENT_ROOT'] . "/wp-admin/includes/file.php"); require ($_SERVER['DOCUMENT_ROOT'] . "/wp-admin/includes/image.php"); 

wp-load.php не загружается нигде вручную, только здесь. Загрузка файла работает так, как ожидалось, единственной проблемой является Уведомление о том, что PHP выплевывается.

Если я использую require_once тогда я получаю больше ошибок (хотя он все равно загружается, как ожидалось?).

Есть идеи?

Изменить: дополнительная информация

Поиск через / wp-content / * показывает термин wp-load только один раз – это из приведенного выше кода.

Может быть, есть способ автозагрузки wp-load.php без включения фразы wp-load?

Код, требующий wp-load, находится в шаблоне темы (а не в плагине). В частности, в шаблоне страницы, который позволяет добавлять / редактировать пользовательский пост из внешнего интерфейса.

Если я удалю строку, требующую wp-load.php, то загрузка изображения все равно будет работать. Однако я получаю следующие ошибки (конфиденциальная информация в структуре каталогов опущена):

 Notice: Undefined offset: 1 in /<Path to file>/file_upload.php on line 25 Notice: Undefined offset: 1 in /<Path to file>/file_upload.php on line 26 Notice: Undefined offset: 1 in /<Path to file>/file_upload.php on line 27 Notice: Undefined offset: 1 in /<Path to file>/file_upload.php on line 28 Notice: Undefined offset: 1 in /<Path to file>/file_upload.php on line 29 Notice: Undefined offset: 2 in /<Path to file>/file_upload.php on line 25 Notice: Undefined offset: 2 in /<Path to file>/file_upload.php on line 26 Notice: Undefined offset: 2 in /<Path to file>/file_upload.php on line 27 Notice: Undefined offset: 2 in /<Path to file>/file_upload.php on line 28 Notice: Undefined offset: 2 in /<Path to file>/file_upload.php on line 29 Notice: Undefined offset: 3 in /<Path to file>/file_upload.php on line 25 Notice: Undefined offset: 3 in /<Path to file>/file_upload.php on line 26 Notice: Undefined offset: 3 in /<Path to file>/file_upload.php on line 27 Notice: Undefined offset: 3 in /<Path to file>/file_upload.php on line 28 Notice: Undefined offset: 3 in /<Path to file>/file_upload.php on line 29 Notice: Undefined offset: 4 in /<Path to file>/file_upload.php on line 25 Notice: Undefined offset: 4 in /<Path to file>/file_upload.php on line 26 Notice: Undefined offset: 4 in /<Path to file>/file_upload.php on line 27 Notice: Undefined offset: 4 in /<Path to file>/file_upload.php on line 28 Notice: Undefined offset: 4 in /<Path to file>/file_upload.php on line 29 Notice: Undefined offset: 5 in /<Path to file>/file_upload.php on line 25 Notice: Undefined offset: 5 in /<Path to file>/file_upload.php on line 26 Notice: Undefined offset: 5 in /<Path to file>/file_upload.php on line 27 Notice: Undefined offset: 5 in /<Path to file>/file_upload.php on line 28 Notice: Undefined offset: 5 in /<Path to file>/file_upload.php on line 29 

Эта ошибка ссылается на массив $ file_array:

 if ($count_files > 0) { foreach ( range( 0, $count_files ) as $i ) { // create an array of the $_FILES for each file $file_array = array( 'name' => urlencode($_FILES['logo']['name'][$i]), 'type' => $_FILES['logo']['type'][$i], 'tmp_name' => $_FILES['logo']['tmp_name'][$i], 'error' => $_FILES['logo']['error'][$i], 'size' => $_FILES['logo']['size'][$i], ); if ( !empty( $file_array['name'] ) ) { $uploaded_file = wp_handle_upload( $file_array, $upload_overrides ); $wp_filetype = wp_check_filetype( basename( $uploaded_file['file'] ), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', basename( $uploaded_file['file'] ) ), 'post_content' => 'logo', 'post_author' => $logged_in_user, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_parent' => $_POST['post_id'], 'guid' => $uploads['baseurl'] . '/' . date( 'Y/m' ) . '/' . $file_array['name'], 'post_date' => date( 'Ymd H:i:s' ), 'post_date_gmt' => date( 'Ymd H:i:s' ) ); $attach_id = wp_insert_attachment( $attachment, '/' . date( 'Y/m' ) . '/' . $file_array['name'], $_POST['post_id'] ); $attach_data = wp_generate_attachment_metadata( $attachment_id, $uploaded_file['file'] ); wp_update_attachment_metadata( $attachment_id, $attach_data ); set_post_thumbnail( $_POST['post_id'], $attach_id ); } } } 

Код, требующий wp-load, находится в шаблоне темы (а не в плагине). В частности, в шаблоне страницы, который позволяет добавлять / редактировать пользовательский пост из внешнего интерфейса.

Шаблон страницы не должен требовать явной загрузки WordPress Core. Сам шаблон не загружается, если WordPress еще не загружен.

Ваши другие ошибки связаны с тем, что, по-видимому, нет $_FILES['logo']['type'][1] , $_FILES['logo']['type'][2] , $_FILES['logo']['type'][3] или $_FILES['logo']['type'][4] . Вам нужно var_dump($_FILES); и посмотрите, с чем вы имеете дело, но это чистая проблема с PHP, и здесь будет не по теме.