Este posibil să determini când utilizatorul se află la "Media > Adaugă nou" versus "Postare > Adaugă o imagine"
Vreau să încorporez filtrul de mai jos într-o condiție care verifică dacă utilizatorul încarcă o imagine din Media Manager (Admin > Media > Adaugă nou) și nu din procesul de încărcare a imaginilor din editorul de postări.
Este posibil să facem această distincție? $pagenow pare să fie același în ambele cazuri...
//fără thumbs suplimentari
global $pagenow;
if($pagenow=="media-new.php"){
add_filter('intermediate_image_sizes_advanced','ce4_no_thumbs');
}
function ce4_no_thumbs($sizes){return array();}
Actualizare: Se pare că există un post_id în querystring când încărcarea este accesată din interiorul unei postări și nu atunci când este accesată prin "media manager > adaugă nou", totuși, următorul test trece în oricare dintre cazuri...
if ( is_admin() && !isset($_GET['post_id']) ) {
/*Acesta nu ar trebui să se activeze dacă utilizatorul încarcă o imagine într-o postare,
deoarece post_id este în querystring. Totuși, în testul meu
încă trece.*/
add_filter('intermediate_image_sizes_advanced','ce4_no_thumbs');
}

Am răspuns la aceasta în comentariile întrebării tale anterioare.
...poți folosi filtrul sugerat de @Backie mai sus (
intermediate_image_sizes_advanced
), și în funcția atașată verifici dacă există un câmp în colecția postului numit _wp_http_referer. Acesta îți spune de unde a venit cererea de încărcare.Dacă _wp_http_referer conține "media-new.php", poți returna un array gol (ce va opri temporar generarea thumbnail-urilor, dar nu va schimba setările acestora). În caz contrar, returnează array-ul $sizes nemodificat.
Încearcă:
function wpsx_7756_no_thumbnails($arr_sizes){
if(stristr($_POST['_wp_http_referer'], 'media-new.php')) {
return array();
}
return $arr_sizes;
}
add_filter('intermediate_image_sizes_advanced','wpsx_7756_no_thumbnails');
Spune-mi dacă funcționează.
Ține minte că adăugarea filtrului în timp ce ești pe formularul de încărcare nu va face ceea ce vrei—formularul trimite la o pagină separată care gestionează încărcarea, și nu va respecta filtrul tău.

@MathSmath: L-am adăugat în functions.php și am testat. Din păcate, toate thumbnail-urile sunt în continuare create când folosesc "Media > Adaugă nou". Ai idei pentru testare prin trace? echo "the post referrer: ".$_POST['_wp_http_referer']; (returnează un întreg incrementat cu +1 de fiecare dată când are loc o încărcare)

Poate o altă opțiune ar fi să testezi pentru iframe? Apare în post uploader, dar se pare că nu și în managerul de media > uploaderul de adăugare nouă.

@Scott B La naiba! Eram sigur că va funcționa :) Nu sunt sigur despre chestia cu iframe. Pentru trace, aș încerca să adaug un wp_die(json_encode($_POST)) la începutul funcției tale "no thumbnails". Va dump-ui conținutul colecției post în momentul în care filtrul rulează. Este posibil ca până când Wordpress ajunge să creeze thumbnail-urile, colecția originală post să fie deja out of scope? În orice caz, ai putea vedea ceva în colecția post disponibilă pe care o poți folosi pentru a identifica referrer-ul.

@MAthSmath: Am înțeles! if(!stristr($_POST['type'], 'image')) {return array();}return $arr_sizes;}
