0
私は、ファイルアップロードフォームとメタボックスを追加するプラグインを持って、プラグインが完璧に動作し、メタボックス(表示画像)に画像のリンクが表示され、ファイルをロードし、一度に公開投稿、それはテーマで表示されます。 (例では、私は、画像ファイルを使用しています):カスタムメタボックスアップロードファイル
<?php
/* Plugin Name: Custom Meta Upload Template*/
add_action('post_edit_form_tag', 'post_edit_form_tag');
function post_edit_form_tag() {
echo ' enctype="multipart/form-data"';
}
function custom_upload() {
add_meta_box('meta_upload', __('Upload Image', 'meta_upload_domain'),'meta_upload_callback', 'post');}
add_action('add_meta_boxes', 'custom_upload');
function meta_upload_callback($post) {
global $post;
$custom = get_post_custom($post->ID);
$download_image01 = get_post_meta($post->ID, '_image01', true);
echo '<p><label for="document_file">Upload document:</label><br />';
echo '<input type="file" name="document_file" id="document_file" /></p>';
echo '</p>';
if(!empty($download_image01) && $download_image01 != '0') {
echo '<p><a href="' . wp_get_attachment_url($download_image01) . '">View Image</a></p>';
}
}
function meta_upload_save($post_id) {
global $post;
if(strtolower($_POST['post_type']) === 'page') {
if(!current_user_can('edit_page', $post_id)) {
return $post_id;
}
}
else {
if(!current_user_can('edit_post', $post_id)) {
return $post_id;
}
}
if(!empty($_FILES['document_file'])) {
$file = $_FILES['document_file'];
$upload = wp_handle_upload($file, array('test_form' => false));
if(!isset($upload['error']) && isset($upload['file'])) {
$title = $file['name'];
$ext = strrchr($title, '.');
$title = ($ext !== false) ? substr($title, 0, -strlen($ext)) : $title;
$attachment = array(
'post_mime_type' => 'image',
'post_title' => addslashes($title),
'post_content' => '',
'post_status' => 'inherit',
'post_parent' => $post->ID
);
$attach_key = '_image01';
$attach_id = wp_insert_attachment($attachment, $upload['file']);
$existing_download = (int) get_post_meta($post->ID, $attach_key, true);
if(is_numeric($existing_download)) {
wp_delete_attachment($existing_download);
}
update_post_meta($post->ID, $attach_key, $attach_id);
}
}
}
add_action('save_post', 'meta_upload_save');
、彼は、テーマ内のファイルと呼ばれる:私は、プラグインの作品を繰り返しますが、問題は、私ができることである
<?php
$download_image01 = get_post_meta($post->ID, '_image01', true);
if(!empty($download_image01) && $download_image01 != '0') { ?>
<div class="section-content">
<img src="<?php echo wp_get_attachment_url($download_image01); ?>" alt="" />
</div>
<?php }?>
をボタンまたは例えば、私はポストを編集する、ファイルを削除するチェックボックスを配置し、ファイルを削除し、そしてもちろんリンク「の表示イメージ」
任意のアイデアを消えません!