Как вывести / вставить изображение в тег option html - PullRequest
1 голос
/ 05 мая 2020

Я пытаюсь вставить код в функцию WooCommerce wc_dropdown_variation_attribute_options. У меня есть такая строка:

$html .= '<option value="' . esc_attr( $term->slug ) . '" ' . selected( sanitize_title( $args['selected'] ), $term->slug, false ) . '>' . esc_html( apply_filters( 'woocommerce_variation_option_name', $term->name, $term, $attribute, $product ) ) . '</option>';

, и мне нужно вставить этот код:

'<img src="' . esc_attr($variation['image']['thumb_src']) . '">' . 

, если я просто вставлю его вот так - ничего не отображается, но когда я отображаю его внутри esc_ html, код отображается как обычный текст, и я вижу, что он настроен правильно.

Как мне вставить сюда код для отображения изображения?

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Я только что протестировал это, и он показывает изображение.

function woocommerce_dropdown_variation_attribute_options_html( $html, $args ) {
    $variation['image']['thumb_src'] = "https://i.picsum.photos/id/230/50/50.jpg";
    $html = '<img src="' . esc_attr($variation['image']['thumb_src']) . '">';
    $html.= '<img src="' . esc_attr($variation['image']['thumb_src']) . '">';
    return $html;
}
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'woocommerce_dropdown_variation_attribute_options_html', 10, 2 );

enter image description here

0 голосов
/ 05 мая 2020

У хука woocommerce_dropdown_variation_attribute_options_args нет определенных c аргументов для изображений, как вы можете видеть здесь

Поэтому я бы использовал woocommerce_dropdown_variation_attribute_options_html хук, который дает вам возможность перепишите вывод html.

function woocommerce_dropdown_variation_attribute_options_html_callback( $html, $args ) {
    $html = '<div>My html</div>';
    return $html;
}
add_filter( 'woocommerce_dropdown_variation_attribute_options_html', 'woocommerce_dropdown_variation_attribute_options_html_callback', 10, 2 );

Или, как вы можете видеть в аналогичном ответе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...