사용자가 모든 질문에 업로드하고 모든 질문과 함께 표시해야하는 그림을 지정하려고합니다. 나는 'media_handle_upload'WordPress 함수를 사용하여 업로드를하고있다.Q & A WordPress 페이지의 모든 주제에 그림을 지정하는 방법은 무엇입니까?
<div id="submit-question" class="dwqa-submit-question">
<?php
global $dwqa_options, $dwqa_current_error;
if(is_wp_error($dwqa_current_error)) {
$error_messages = $dwqa_current_error->get_error_messages();
if(!empty($error_messages)) {
echo '<div class="alert alert-error">';
foreach ($error_messages as $message) {
echo $message;
}
echo '</div>';
}
}
?>
<form action="" name="dwqa-submit-question-form" id="dwqa-submit-question-form" method="post">
<div class="question-advance">
<div class="question-meta">
<div class="select-category">
<label for="question-category"><?php _e('Question Category','dwqa') ?></label>
<?php
wp_dropdown_categories(array(
'name' => 'question-category',
'id' => 'question-category',
'taxonomy' => 'dwqa-question_category',
'show_option_none' => __('Select question category','dwqa'),
'hide_empty' => 0,
'quicktags' => array('buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,spell,close'),
'selected' => (isset($_POST['question-category']) ? stripslashes(htmlentities($_POST['question-category'])) : false)
));
?>
</div>
<div class="input-tag">
<label for="question-tag"><?php _e('Question Tags','dwqa') ?></label>
<input type="text" name="question-tag" id="question-tag" placeholder="<?php _e('tag 1, tag 2,...','dwqa') ?>" value="<?php echo isset($_POST['question-tag']) ? stripslashes(htmlentities($_POST['question-tag'])) : ''; ?>" />
</div>
</div>
</div>
<div class="input-title">
<label for="question-title"><?php _e('Your question','dwqa') ?> *</label>
<input type="text" name="question-title" id="question-title" placeholder="<?php _e('How to...','dwqa') ?>" autocomplete="off" data-nonce="<?php echo wp_create_nonce('_dwqa_filter_nonce') ?>" value="<?php echo isset($_POST['question-title']) ? stripslashes(htmlentities($_POST['question-title'])) : ''; ?>" />
<span class="dwqa-search-loading dwqa-hide"></span>
<span class="dwqa-search-clear fa fa-times dwqa-hide"></span>
</div>
<div class="question-advance">
<div class="input-content">
<label for="question-content"><?php _e('Question details','dwqa') ?></label>
<?php
dwqa_init_tinymce_editor(array(
'content' => (isset($_POST['question-content']) ? stripslashes(htmlentities($_POST['question-content'])) : ''),
'id' => 'dwqa-question-content-editor',
'textarea_name' => 'question-content',
'media_buttons' => true
));
?>
</div>
<?php if(isset($dwqa_options['enable-private-question']) && $dwqa_options['enable-private-question']) : ?>
<div class="checkbox-private">
<label for="private-message"><input type="checkbox" name="private-message" id="private-message" value="true"> <?php _e('Post this Question as Private.','dwqa') ?> <i class="fa fa-question-circle" title="<?php _e('Only you as Author and Admin can see the question', 'dwqa') ?>"></i></label>
</div>
<?php endif; ?>
<div class="question-signin">
<?php do_action('dwqa_submit_question_ui'); ?>
</div>
<script type="text/javascript">
var RecaptchaOptions = {
theme : 'clean'
};
</script>
<?php
global $dwqa_general_settings;
if(dwqa_is_captcha_enable_in_submit_question()) {
$public_key = isset($dwqa_general_settings['captcha-google-public-key']) ? $dwqa_general_settings['captcha-google-public-key'] : '';
echo '<div class="google-recaptcha">';
echo recaptcha_get_html($public_key);
echo '<br></div>';
}
?>
</div>
<div class="form-submit">
<input type="submit" value="<?php _e('Ask Question','dwqa','Upload') ?>" class="dwqa-btn dwqa-btn-success btn-submit-question" name="submit_my_image_upload"/>
</div>
</form>
내 코드는 다음 시작합니다
<form id="featured_upload" method="post" action="#" enctype="multipart/form-data">
<input type="file" name="my_image_upload" id="my_image_upload" multiple="false" />
<input type="hidden" name="post_id" id="post_id" value="55" />
<?php wp_nonce_field('my_image_upload', 'my_image_upload_nonce'); ?>
<input id="submit_my_image_upload" name="submit_my_image_upload" type="submit" value="Upload" />
</form>
<?php
if (
isset($_POST['my_image_upload_nonce'], $_POST['question-category'])
&& wp_verify_nonce($_POST['my_image_upload_nonce'], 'my_image_upload')
) {
// The nonce was valid and the user has the capabilities, it is safe to continue.
// These files need to be included as dependencies when on the front end.
require_once(ABSPATH . 'wp-admin/includes/image.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/media.php');
// Let WordPress handle the upload.
// Remember, 'my_image_upload' is the name of our file input in our form above.
$attachment_id = media_handle_upload('my_image_upload', $_POST['question-category']);
if (is_wp_error($attachment_id)) {
// There was an error uploading the image.
echo 'Error uploading';
} else {
// The image was uploaded successfully!
}
} else {
// The security check failed, maybe show the user an error.
}?>
</div>
이 플러그인의 문제 - submitt-form.php하고 난 형태로 내부의 'media_handle_upload'기능을 구현해야 확실 해요 그래서 모든 업로드 된 사진은 질문의 ID를 얻을 것이며 사진을 제출하는 언론과 함께 질문과 관련이 있지만 작동하게 만들 수는 없습니다. 첫 번째 "형식"에서 벗어나 사진을 업로드 할 때 질문과 관련이 없습니다.
추신 :이 작업을 수행 할 수있는 또 다른 해결책이 있다면 (Q & 레딧, 스택 오버플로 스타일 및 모든 질문에 대한 이미지 할당이 제안을 위해 열려 있습니다). 추가 :