Ar vienintelis būdas importuoti išorinius vaizdų URL adresus į „WooCommerce“ produktus yra įsigyti aukščiausios kokybės įskiepį, pvz., „WP all import“?
Teksto dydis: +1, +2, normalus.Sukūriau R2 talpyklą ir naudoju nemokamą „Image Kit“ kaip vaizdų CDN, kad optimizuočiau saugomus vaizdus. Kai importuoju produktus į „WordPress“ su naujais išoriniais „Image Kit“ URL adresais, „WordPress“ vietoj to atsisiunčia vaizdus ir perrašo URL adresus į vietinius URL adresus.
Negaliu leisti sau premium įskiepių, jei yra kokių nors sprendimų, prašau praneškite man.
ruin_dono
alx359
Galite pabandyti perrašyti visus vaizdų URL adresus atgal į saugyklą ir ištrinti vietines kopijas. Tai galite padaryti naudodami George Iron sukurtą „WooCommerce Advanced Bulk Edit“ (mokamą), tačiau WP saugykloje yra ir kitų programų.
Kitas būdas – dinamiškai perrašyti URL adresus naudodami kodą functions.php. Šis sprendimas, pagrįstas filtru woocommerce_placeholder_img, iš pirmo žvilgsnio atrodo perspektyvus.
Keisti „WooCommerce“ vaizdus pagal vaizdo URL iš pasirinktinio lauko
Bandau sukurti partnerių svetainę, į kurią turiu importuoti daugiau nei 10 000 produktų. Naudoju WP All Import, kuris suteikia man galimybę atsisiųsti nuotraukas į savo serverį. Tačiau galite įsivaizduoti, kad visos nuotraukos užima visą turimą vietą ir dėl to mano svetainė veikia lėtai, o importavimas trunka ilgai.
Galiu išsaugoti nuotraukos URL kaip pasirinktinį lauką ir noriu naudoti šį URM savo img žymėje, bet neturiu jokios idėjos, kaip tai padaryti. Bandžiau ieškoti „Google“, bet mano problema yra pernelyg specifinė. Nesuprantu visų paslaptingų kodų, kurie sudaro šabloną. Maniau, kad tai bus taip pat paprasta, kaip pakeisti img žymės src, bet net negaliu rasti img žymės, kad tai padaryti. Ir galiu įsivaizduoti, kad jei sunku rasti img žymę, tai dar sunkiau pakeisti src vertę pasirinktiniu lauku.
Ar kas nors galėtų man pasakyti, kaip pasiekti savo tikslą?
Tai nėra gerai dokumentuota, bet galite naudoti woocommerce_placeholder_img filtrą. Ši funkcija bus iškviesta, kai prie produkto nėra pridėta jokia nuotrauka.
// Source - https://stackoverflow.com/a/50123827
// Posted by Chris
// Retrieved 2026-03-03, License - CC BY-SA 3.0
add_filter( 'woocommerce_placeholder_img', 'replace_woocommerce_image' );
function replace_woocommerce_image( $size ) {
//we will need access to the global post object
//this way we know which product to replace for
global $post;
//check for the custom image url
$src = get_post_meta( $post->ID, '_image_url', true );
//if not image url is found, use the default
if( ! $src )
$src = wc_placeholder_img_src();
return '<img src="' . $src . '" />';
}
Tai galite pamatyti čia esančiame kodekse. Atrodo, kad taip pat galite naudoti filtrą woocommerce_placeholder_img_src, kuris filtruotų tik šaltinio URL, o ne visą žymę.
Sėkmės!
Įvertinkite straipsnį
