Основываясь на своих исследованиях и ограниченных знаниях в области кодирования, я сформулировал ниже и хотел бы получить руководство по моему запросу.
Я хочу получить настраиваемое поле (внутри ссылки на странице) варианта при выборе из выпадающего спискана странице продукта.И это должно быть работоспособно для идентификатора пользовательского поля и любого префикса ссылки
, например, 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?
или
Есть ли лучший способ, который я могу реализовать?