¿Te ha pasado que estás trabajando con un formulario Jetengine con un campo de tipo repeater y te solicitan que agregues un número determinado de ítems? 👌Aquí te comparto un shortcode fácil de implementar para solucionarlo:
Este es un ejemplo de un repeatear start que se coloca en el campo «class» con un nombre de clase que identifique únicamente a este repeater, no debe estar aplicado en ningún otro repeater de este mismo formulario o de otro formulario que se muestre en la misma página web.
Vamos a crear un nuevo shortcode con la herramienta que mejor conozcas «Code Snippets», «WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager» o directamente en el archivo functions.php de nuestro tema o tema hijo.💡 (Recuerda que ponerlo en un tema y no en su hijo, puede poner en riesgo ese código en futuras actualizaciones del tema).
<?php
add_shortcode('contar-repetible','contar_repetible');
function contar_repetible($atts){
$marcador=".";
$selector=$marcador.$atts['selector']." div.jet-form-repeater__items";
$cantidad=$atts['cantidad'];
?>
<script>
jQuery( document ).ready(function($) {
var selector='<?php echo $selector; ?>';
var clase='<?php echo ".".$atts['selector']; ?>';
var numItems=-1;
var cantidad=<?php echo $cantidad; ?>;
var selector1=clase+" "+".jet-form-repeater__row";
var selector2=clase+" "+".jet-form-repeater__new";
$(selector).bind("DOMSubtreeModified", function() {
numItems=$(selector1).length;
if(numItems==cantidad){
$( selector2 ).hide();
}else{
$( selector2 ).show();
}
});
});
</script>
<?php
}
Ejemplo:
Después que usemos el shortcode del formulario en la página web donde queremos mostrarlo, pondremos en el atributo selector la clase que pusimos en el repeater start y la cantidad de items que necesitamos para el repeater.
¡Y voilá! Ahora puedes decirle a tu repeater cuántos items quieres que el usuario agregue.
¿Conocías este método? ¡Escríbenos en los comentarios si lo has aplicado antes o conoces otro método!
Escrito por: Adolfo Feria Garrido
Gerente de TI y Proyectos