He agregado un campo a nuestro backend de wordpress donde puedo escribir texto en él. (por ejemplo, "colorVariation + btnVariation) -> Eso debería definir un orden específico para las variables js más adelante
Puedo recibir este texto en mi archivo js con la función wp_localize_script.
wp_localize_script('wc-product-js', 'script_vars', array( 'order' => get_field("wc_variation_order"), ) );Parece ser que esta variable se convierte en una cadena cuando intento usar la variable en mi archivo js. como eso:
var colorVariation = '_red'; var btnVariation = '_male'; var order = script_vars.order; var varId = '.variation' + order;Mi salida esperada sería ".variation_red_male" pero la salida es ".variationcolorVariation + btnVariation)
¿Hay alguna forma de convertir esta cadena?
Bien. Finalmente he encontrado la función por mí mismo. Es eval().
La función eval() puede evaluar o ejecutar un argumento que se pasa dentro de ella. Si el argumento es una expresión, esta función evaluará la expresión y el argumento es una o más declaraciones de JavaScript, eval() ejecuta las declaraciones.
Cita de https://www.codespeedy.com/convert-string-into-variable-name-in-javascript/
var colorVariation = '_red'; var btnVariation = '_male'; var order = script_vars.order; var varId = '.variation' + eval(order);