Отобразить настраиваемое поле при выборе варианта продукта woocommece - PullRequest
0 голосов
/ 24 сентября 2019

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

Я хочу получить настраиваемое поле (внутри ссылки на странице) варианта при выборе из выпадающего спискана странице продукта.И это должно быть работоспособно для идентификатора пользовательского поля и любого префикса ссылки

, например, www.amazon.in/dp/[custom_field] Я ищу, чтобы обновить значение идентификатора пользовательского поля [custom_field] на основе выбранного варианта.

Я использую пользовательский шаблон продукта через плагин Visual Composer, где я вставил текстовый блок со ссылкой выше.

Показывает значение [custom_field] родительского продукта, только когда я устанавливаю значение [custom_field]и вызывать его по ссылке через короткий код, даже когда выбран вариант.

У меня есть решение, как показано ниже, чтобы получить значение [custom_field] для изменения, но оно ограничивает меня префиксом www.amazon.in/ dp / [custom_field] только ссылка, а также ограничить меня одним идентификатором настраиваемого поля, то есть custom_field

Так что я ищу, чтобы решить проблему ограничения префикса и идентификатора настраиваемого поля.

В настоящее время у меня естьнастроить настраиваемое поле с помощью https://businessbloomer.com/woocommerce-add-custom-field-product-variation/

Код, добавленный в themes / childtheme / woocommerce / single-product / add-to-cart /ification.php:

<script type="text/javascript">  
    var var_content = '{{{ data.variation.custom_field }}}';
    var_content = var_content.replace('<div class="woocommerce_custom_field">Custom Field: <span>', "");
    var_content = var_content.replace("</span></div>", "");

    var c_link = 'https://www.amazon.in/dp/'+ var_content + '/?tag=visiaro-21&th=1';
    jQuery(".variation_custom_link").attr("href",c_link);

    jQuery( ".variations_form" ).on( "woocommerce_variation_select_change", function () { 
    var var_val = jQuery('input[name=variation_id]').val();
    if(var_val === ""){
        var default_single_product_cf = jQuery("#default_single_product_cf").text();

        var c_link = 'https://www.amazon.in/dp/'+ default_single_product_cf + '/?tag=visiaro-21&th=1';
        jQuery(".variation_custom_link").attr("href",c_link);
    }
} );

Код в wp-content / themes / childtheme / functions.php:

  function product_custom_field_in_single_page_function() {
    global $product;
    return get_post_meta( $product->get_id(), 'custom_field', true );
  }
  add_shortcode( 'product_custom_field_single_product', 'product_custom_field_in_single_page_function');

В пользовательском шаблоне продукта (визуальный компоновщик) я также поместил "var_custom_link" в текстовое поле класса CSS Link.

снимок экрана

Как мне добиться, чтобы вызвать значение произвольного идентификатора любого идентификатора, а также чтобы префикс не ограничивался amazon?

или

Есть ли лучший способ, который я могу реализовать?

...