вставлять изображение вместе с пользовательскими данными через внешнюю форму

Я использую wordpress как cms. Я хотел вставить пользовательские данные через форму из интерфейса на моем сайте WordPress, а затем повторить его на странице где-нибудь. Изучая кое-где, я могу составить коды, ниже которых работает. Вот код того, как выглядит моя форма в настоящее время.

<form id="costing_submit_form" action="http://somesite.com/..../process-costing.php" method="post"> <input type="hidden" name="costing_submit_date" value="<?php echo $costing_submit_date;?>"/> <input type="text" id="costing_submit_title" name="costing_submit_title" size="90%" maxlength="150" /><br> <textarea id="costing_submit_description" name="costing_submit_description" size="90%" cols="60" rows="10 tabindex="15" maxlength="2000" rows="20" required="" /></textarea> <input type="submit" class="costing_submit_button" name="costing_submit_button" value="SUBMIT COSTING" /> </form> 

На этом этапе я могу вставить данные, а также отобразить их в интерфейсе с помощью $ wpdb. Эта часть кода находится в process-costing.php который вставляет данные в таблицу базы данных.

 global $wpdb; require_once('../../../wp-load.php'); $costing_submit_date = strip_tags($_POST['costing_submit_date']); $costing_submit_title = strip_tags($_POST['costing_submit_title']); $costing_submit_description = strip_tags($_POST['costing_submit_description']); $table_name = $wpdb->prefix . "costing"; $wpdb->insert( $table_name, array( 'costing_date' => $costing_submit_date, 'costing_title' => $costing_submit_title, 'costing_description' => $costing_submit_description, )); 

Теперь я хотел бы добавить изображение к каждой сделанной записи , поэтому как мне это сделать. Если не полное решение любезно дать мне дорожную карту относительно того, что я должен делать или следовать, какие конкретные функции я должен использовать? Даже если я могу загрузить изображение. Моя главная проблема заключается в том, как associate the uploaded image to that particular entry … что-то вроде пост-эскиза, возможно? Если возможно, я также хотел бы assign a particular folder для этих изображений. Заранее спасибо.

Solutions Collecting From Web of "вставлять изображение вместе с пользовательскими данными через внешнюю форму"

Для загрузки изображений вы можете использовать wp_handle_upload() . Добавление вложений можно выполнить с помощью wp_insert_attachment() . Связь между вложением и вашим элементом калькуляции может быть достигнута с помощью update_post_meta() . Кроме того, в WordPress UI не отображаются мета-ключи, начинающиеся с символа подчеркивания _ .

Вы можете выглядеть так:

 <?php $my_costing_id; /* contains the id of the corresponding item in your costing table */ // create attachment $attachment_data = array( 'post_title' => 'An Image', 'post_content' => 'An Image', 'post_status' => 'publish', 'post_mime_type' => 'image/jpeg', ); $attachment_id = wp_insert_attachment($attachment_data , 'path/to/uploaded/file.jpg' ); update_post_meta( $attachment_id , '_costing_id' , $my_costing_id ); 

Чтобы получить $costing_id соответствующий известному $attachment_id просто используйте get_post_meta . Чтобы получить $attachment_id соответствующего $costing_id , вам нужно будет написать свой собственный SQL-запрос и передать его в $wpdb :

 <?php $attachment_id = $wpdb->get_var( $wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_value=%d AND meta_key=%s") , $costing_id , '_costing_id' ); 

Надеюсь это поможет,

касается j.