Изменить изображения woocommerce по URL-адресу изображения из настраиваемого поля - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь создать партнерский сайт, на котором мне нужно импортировать более 10.000 продуктов. Я использую WP All Import, и это дает мне возможность загружать изображения на мой сервер. Но вы можете себе представить, что все фотографии вместе занимают место, которое у меня есть, и замедляют мой сайт и импорт.

Я могу сохранить URL-адрес изображения в качестве настраиваемого поля и хочу использовать этот URM в своем теге img, но я не знаю, как это сделать. Я пробовал гуглить, но у меня эта проблема слишком специфична. Я не понимаю весь загадочный код, из которого состоит шаблон. Я думал, что это будет так же просто, как заменить src тега img, но я даже не могу найти тег img для этого. И я могу себе представить, что если трудно найти тег img, то было бы еще труднее заменить значение src на настраиваемое поле.

Может кто-нибудь сказать мне, как я могу достичь своей цели?

1 Ответ

0 голосов
/ 02 мая 2018

Это плохо документировано, но вы можете использовать фильтр woocommerce_placeholder_img. Эта функция вызывается, когда к Прибору не прикреплено изображение.

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 . '" />';
}

Вы можете увидеть это в кодексе здесь . Похоже, вы также можете использовать фильтр woocommerce_placeholder_img_src, который будет фильтровать только исходный URL, а не весь тег <img>.

Удачи!

...