Jetengine

Limita el número de campos repeater en Jetengine

¿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.

Agencia de Publicidad

 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *