¿Sería una forma correcta de poner en cola la secuencia de comandos utilizando el bucle foreach?

4

Sería una forma correcta de poner en cola los scripts utilizando foreach loop solo para jquery , jquery-ui-widge t, jquery-UI-accordion , jquery-ui-slider , jquery-ui-tabs , jquery-ui-datepicker , Jquery-ui-dialog y Jquery-ui-button porque tengo que escribirlo muchas veces, así que

Lo he hecho así:

 $jquery_ui = array(
    'jquery',
    'jquery-ui-core',
    'jquery-ui-widget',
    'jquery-ui-accordion',
    'jquery-ui-slider',
    'jquery-ui-tabs',
    'jquery-ui-datepicker',
    'jquery-ui-dialog',
    'jquery-ui-button',
 );

 // Framework JS
foreach ($jquery_ui as $ui) {
    wp_enqueue_script($ui);
}

Así que solo quiero saber que esta pereza es una forma correcta o no :)

    
pregunta Owaiz Yusufi 27.07.2017 - 17:35

2 respuestas

1

Sí, puedes. Pero para asegurarse de que el script no se haya registrado o puesto en cola, use wp_script_is() de la siguiente manera:

foreach( $jquery_ui as $ui ) {
    if( !wp_script_is( $ui ) ) {
        wp_enqueue_script( $ui );
    }
}

Esto evitará conflictos debido a otra instancia de la secuencia de comandos que ya está en cola.

    
respondido por el Jack Johansson 27.07.2017 - 17:52
0

En realidad, es incluso más fácil que eso. wp_enqueue_script() acepta una matriz de manejadores de script, por lo que simplemente puede hacer esto:

$jquery_ui = array(
    'jquery',
    'jquery-ui-core',
    'jquery-ui-widget',
    'jquery-ui-accordion',
    'jquery-ui-slider',
    'jquery-ui-tabs',
    'jquery-ui-datepicker',
    'jquery-ui-dialog',
    'jquery-ui-button',
 );

wp_enqueue_script( $jquery_ui );

No es necesario verificar si el script ya se ha registrado con wp_script_is() , ya que wp_enqueue_script() maneja esto por usted y nunca pondrá en cola el mismo script (handle) dos veces. Al llamar también a wp_script_is() , está realizando una comprobación idéntica dos veces innecesariamente.

    
respondido por el shea 15.10.2017 - 07:49

Lea otras preguntas en las etiquetas