Intereting Posts
ACF проверяет, имеет ли переменная http, если else возвращает строку добавить идентификатор CSS в тело страницы в wordpress URL-адреса с двумя таксономиями отсутствуют в файле Sitemap Удаление кнопки удаления навсегда при загрузке файлов Как изменить пользовательский frontpage.php на незарегистрированную страницу блога? Получать только измененные сообщения Что более безопасные возможности проверки пользователя или проверка роли пользователя в разработке плагина WordPress Загрузка мультимедиа не работает с опцией темы в WordPress 3.8.1 Результат поиска conditonal tag Предупреждение: Недопустимое смещение строки на странице параметров темы Добавление функции pagenavi для отображения закладок Правило перезаписи не работает как перенаправить на страницу поиска пользовательских паролей Изменение фонового изображения на страницу Обтекание изображений в тегах по размеру

Настройка формы Front Front Front Front

Я боролся в течение нескольких дней, чтобы понять это. Я успешно внедрил форму для отправки сообщений с внешнего конца моего сайта. Но я не могу понять, как заставить загружать изображения.

Я хочу, чтобы любое изображение, которое пользователь загружает, автоматически прикрепляется к сообщению и становится его образцом.

Может кто-нибудь объяснить, как это сделать с моим существующим кодом?

Я просмотрел все соответствующие вопросы на этом форуме, и ни одно из решений не работает для меня.

<? if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['insert_post'] )) { //check that our form was submitted //If it has, redirect to the dashboard ?><script language="javascript"><!-- location.replace("/dashboard/") //--> </script> <?php $title = $_POST['thread_title']; //set our title if ($_POST['thread_description']=="") { // check if a description was entered $description = "See thread title..."; // if not, use placeholder } else { $description = $_POST['thread_description']; //if so, use it } $tags = $_POST['thread_tags']; //load thread tags (custom tax) into array $post = array( //our wp_insert_post args 'post_title' => wp_strip_all_tags($title), 'post_content' => $description, 'post_category' => array('0' => $_POST['cat']), 'tax_input' => array('thread_tag' => $tags), 'post_status' => 'publish', 'post_type' => 'tsv_userpost' ); $my_post_id = wp_insert_post($post); //send our post, save the resulting ID $current_user = wp_get_current_user(); //check who is logged in add_post_meta($my_post_id, '_your_custom_meta', $var); //add custom meta data, after the post is inserted } else { if(is_user_logged_in()) { // check that the user is logged in before presenting form $current_user = wp_get_current_user(); ?> <div id="postbox"> <form id="new_thread" name="new_thread" method="post" action="" enctype="multipart/form-data"> <input class="required" type="text" id="thread_title" value="" tabindex="1" name="thread_title" placeholder="Thread Title" /> <textarea id="thread_description" name="thread_description" cols="80" rows="20" tabindex="2"></textarea> <div class="left"> <select name='cat' id='cat' class='postform required' tabindex="3"> <option value="" selected="selected">Choose:</option> <option class="writing" value="90">Writing</option> <option class="image" value="91">Image</option> <option class="video" value="92">Video</option> <option class="audio" value="94">Audio</option> <option class="link" value="95">Link</option> </select> </div> <input type="text" value="" tabindex="4" size="16" name="thread_tags" id="thread_tags" placeholder="Tags" /> <br /> <!-- images --> <label for="images">Featured Image:</label> <input type="file" name="user-image-featured" id="user-image-featured" size="20"> <!-- Submit button--> <br /> <input type="submit" value="Save Post" tabindex="5" id="thread_submit" name="thread_submit" class="thread-button" /> <input type="hidden" name="insert_post" value="post" /> <?php wp_nonce_field( 'new_thread' ); ?> </form> </div> <?php } else { echo 'please login'; } } ?> 

Solutions Collecting From Web of "Настройка формы Front Front Front Front"

вы можете сделать это, запустив функцию

 set_post_thumbnail( $my_post_id, $thumbnail_id ); 

помните, что вам нужно сначала обработать и вставить изображение в библиотеку:

 $uploaddir = wp_upload_dir(); $file = $_FILES[ ... whatever you have in your POST data ... ]; $uploadfile = $uploaddir['path'] . '/' . basename( $file ); move_uploaded_file( $file , $uploadfile ); $filename = basename( $uploadfile ); $wp_filetype = wp_check_filetype(basename($filename), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', $filename), 'post_content' => '', 'post_status' => 'inherit', 'menu_order' => $_i + 1000 ); $attach_id = wp_insert_attachment( $attachment, $uploadfile ); 

не тестировал скрипт – он адаптирован из версии, которую я создал. возможно, вы хотите изменить имя файла и тому подобное, но все это работает так:

Могу ли я исправить свой код?

 $uploaddir = wp_upload_dir(); $file = $_FILES[ ... whatever you have in your POST data ... ]; $uploadfile = $uploaddir['path'] . '/' . basename( $file['name'] ); move_uploaded_file( $file['tmp_name'] , $uploadfile ); $filename = basename( $uploadfile ); $wp_filetype = wp_check_filetype(basename($filename), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', $filename), 'post_content' => '', 'post_status' => 'inherit', 'menu_order' => $_i + 1000 ); $attach_id = wp_insert_attachment( $attachment, $uploadfile );