Intereting Posts
Шаблон плагина для сообщений в блоге? Импорт базы данных WordPress: размер строки слишком большой Для автоматического входа в систему требуется обновление страницы Зачем загружать JS через CMS? Получить термин для каждого пользовательского типа сообщения Как получить ссылку профиля пользователя Buddypress и определенное поле профиля пользователя для текущего автора сообщения? Обнаружить 404 перед отправкой заголовков Добавить простой почтовый ящик JS для отправки сообщений Невозможно получить «has_sub_field ()» для работы в условном Большие боковые баннеры Как показать пользовательский счет типа сообщения на странице администрирования пользователей Аргумент update_count_callback в функции register_taxonomy не работает posts_nav_link (); не отображается на статических страницах WP Налоговый запрос и порядок по налоговым запросам не работают WordPress добавляет дополнительное html-кодирование к моим данным о сохранении

Попытка реализовать .pdf Загрузка файлов в Admin для плагина

Это первый раз в моей разработке плагинов, что мне нужно загрузить файл. UH-OH !!!

Я создаю свои плагины OOP, и я всегда использовал jQuery .serialize, чтобы публиковать данные в моем файле plugin.php, но я не могу этого сделать и загрузить файл.

Форма администратора, которая позволит администраторам сайта загружать файлы .pdf для своих пользователей:

<h3> <?php echo '<img class="btnAddDoc" src="' . plugins_url('images/icn/Add16.png', dirname(__FILE__)) . '" >'; ?> &nbsp; <span class="btnAddDoc">Add New Document</span> </h3> <div id="frmAddDoc" style="display:none;"> <form id="frmNewDocument" action="<?php echo plugins_url('new_document.php', dirname(__FILE__)); ?>" method="POST" enctype='multipart/form-data'> <input type="hidden" name="post_date" value="<?php echo date('Ym-d'); ?>"> <table class="form-table"> <tbody> <tr class="form-field form-required"> <th scope="row"> <label for="groupID"> Select Group <span class="description">(required)</span> </label> </th> <td> <select name="groupID" id="groupID"> <?php foreach($groups as $group): ?> <option value="<?php echo $group->id; ?>"><?php echo $group->name; ?></option> <?php endforeach; ?> </select> </td> </tr> <tr class="form-field form-required"> <th scope="row"> <label for="document"> Document Name <span class="description">(required)</span> </label> </th> <td> <input type="text" id="document" name="document" value aria-required="true" /> </td> </tr> <tr class="form-field form-required"> <th scope="row"> <label for="description"> Description <span class="description">(required)</span> </label> </th> <td> <textarea id="description" name="description" value aria-required="true"></textarea> </td> </tr> <tr> <th scope="row"> <label for="description"> Upload PDF: <span class="description">(required)</span> </label> </th> <td> <input type="file" name="doc" id="doc" /> </td> </tr> </tbody> </table> <p class="submit"> <button href="#" class="btnCancelAdd">Cancel</button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input class="button button-primary" type="submit" id="btnNewDocument" name="newDocument" value="<?php _e( 'Add New Document' ); ?>" /> </p> </form> 

В корневой папке плагина я создал new_document.php для обработки загрузки. Я хочу создать имя camelCase для .pdf, созданного в поле «document». Вот что я имею в этом файле:

 <?php require_once('/public_html/wp-config.php'); global $wpdb; define("UPLOAD_DIR", '/public_html/wp-content/uploads/gdocs/'); if( !empty( $_FILES['doc'] ) ): $uFile = $_FILES['doc']; if ($uFile["error"] !== UPLOAD_ERR_OK) { echo "<p>An error occurred.</p>"; exit; } $post_date = $_POST['post_date']; $groupID = $_POST['groupID']; $document = $_POST['document']; $description = $_POST['description']; $d_pieces = explode(' ', $document); $new_name = ' '; $count = 1; foreach ($d_pieces as $piece){ if ($count !== 1){ $piece = ucfirst($piece); } // end if $newName .= $piece; $count++; } // end foreach $flName = $newName.".pdf"; $fileName = strtolower( $flName{0}) . substr($flName,1); $success = move_uploaded_file($uFile['tmp_name'], UPLOAD_DIR . $fileName); else: echo "No File Uploaded."; endif; $wpdb->insert( 'ppm_group_documents', array( 'groupID' => $groupID, 'post_date' => $post_date, 'document' => $document, 'description' => $description, 'path' => $fileName ), array( '%s', '%s', '%s', '%s', '%s' ) ); header('Location: http://[sitename]/wp-admin/admin.php?page=ppm-doc-viewer'); ?> 

—ОБНОВИТЬ—

Приведенный выше код работает, но это скорее PHP, чем решение WordPress. Надеюсь, кто-то может указать мне на книгу или статью, объясняющую, как загружать файлы «правильным способом» в плагин OOP.

— END UPDATE –

Я получаю только белый экран смерти и через FTP, я проверил папку для загрузки, и файл там нет. Поскольку это живой сайт, я не могу включить отладку.

Я надеюсь, что кто-то обнаружит то, что я делаю неправильно, но мне также понравится, если кто-то может указать мне на книгу или статью, объясняющую, как загружать файлы «правильным образом» в плагин OOP.

Заранее спасибо!!!

Solutions Collecting From Web of "Попытка реализовать .pdf Загрузка файлов в Admin для плагина"