Задать вопрос
@chizi777
Новичок

Как в письме получить изображение товара contact form 7?

Создал пользовательский тег [img] для contact form 7, чтобы отобразить изображение текущего поста/товара в форме. Мне удалось вывести изображение товара в форме обратной связи которую я создал, однако я не могу передать это изображение в письме. Я пробовал разные варианты:

  1. Формировал url типа uploads/2023/.../.jpg (так как в документации сказано, что в целях безопасности, все, что находится за приделами /wp-content/ не будет считаться.

  2. Использовал тег [img] в области для вложенных файлов и в теле письма.

  3. Задавал имя [img img-name] и использовал в области для вложенных файлов и в теле письма.

Ничего не помогло.

Вот, собственно, моя функция:

/**
 * Return product image for CF7 tag.
 *
 * @param array $tag
 * @return string
 */
function custom_add_form_tag_img_handler($tag) {
    global $post; // Use $post to get the current post object.

    // Check if we're on a WooCommerce product page.
    if (function_exists('is_product') && is_product()) {
        $product_id = get_the_ID(); // Get the current post (product) ID.
        $product = wc_get_product($product_id); // Get the product object.

        $image_url = get_the_post_thumbnail_url($product_id);

        if ($image_url) {
            return '<img src="' . esc_url($image_url) . '" alt="Изображение товара" class="ar-form__img">';
        }

		// if ($image_url) {
        //     return ltrim(wp_make_link_relative(esc_url($image_url)), '/wp-content/' );
        // }
    }

    return '';
}

/**
 * Hook to add custom 'img' tag to CF7.
 * Usage in CF7: [img]
 */
function custom_add_form_tag_img() {
    wpcf7_add_form_tag('img', 'custom_add_form_tag_img_handler', array( 'name-attr' => true ));
}

add_action('wpcf7_init', 'custom_add_form_tag_img');
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы