2017-11-02 16 views
0

WordPressのプラグインでファイルアップロード機能を作成しようとしています.1つのファイルをアップロードして後でサムネイルとして表示します。コード私はこのようなルックスを使用:wp_handle_uploadは画像ごとに複数のサイズをアップロードします

$file_return = wp_handle_upload($logo, array('test_form' => false)); 
if (isset($file_return['error']) || isset($file_return['upload_error_handler'])) { 
    return false; 
} else { 
    $filename = $file_return['file']; 

    $attachment = array(
     'post_mime_type' => $file_return['type'], 
     'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)), 
     'post_content' => '', 
     'post_status' => 'inherit', 
     'guid' => $file_return['url'] 
    ); 

    $attachment_id = wp_insert_attachment($attachment, $file_return['file']); 

    $attachment_data = wp_generate_attachment_metadata($attachment_id, $filename); 
    wp_update_attachment_metadata($attachment_id, $attachment_data); 
    if (0 < intval($attachment_id)) { 
     return $attachment_id; 
    } 
} 

とHTMLは単純です:

<form ...> 
    <input type='file' name='logo-upload' id='logo-upload'> 
</form> 

また、AJAXを通じてロゴをアップロードするためのJS:(jqueryの)

var formData = new FormData(); 
var logo = $('#logo-upload')[0].files[0]; 
formData.append('logo', logo); 
$.ajax({ 
    method: 'POST', 
    url: '...', 
    processData: false, 
    contentType: false, 
    data: formData 
}).done(function (data) { 
    alert('uploaded!'); 
    alert(data); 
}); 

これは、すべてのコードではありませんが、私はそれがすべて関連していると信じています。

image.png
image-150x150.png
image-300x179.png
image-410x121.png
...
私はワードプレスを知っているが、デフォルトでこれを行います。 問題はここに名前を言うimage.pngでアップロードされ、その代わりに、1つのファイルのみですが、私はこれを取得しますしかし、これを回避する方法はありますか?

答えて

0

メディア設定(設定 - >メディア)では、上にリストされているすべてのサイズを幅と高さに0(ゼロ)にすることができます。それが助けになるはずです。

0

WPフィルタを使用できます。関数unset()は、指定された変数を破棄します。

add_filter('intermediate_image_sizes_advanced', 'prefix_remove_default_images'); 
// Remove default image sizes here. 
function prefix_remove_default_images($sizes) { 
unset($sizes['small']); // 150px 
unset($sizes['medium']); // 300px 
unset($sizes['large']); // 1024px 
unset($sizes['medium_large']); // 768px 
return $sizes; 
} 
関連する問題