Usar la primera imagen de la galería ACF para Imagen destacada php

View Snippet
                    <?php
add_action('acf/save_post', 'flex_FeaturedImageSetByACF', 50);

function flex_FeaturedImageSetByACF() {

    $current_screen         = get_current_screen(); // Current admin screen needed to identify the current cpt
    $current_cpt_name       = 'models'; // Current cpt name
    $current_cpt_support    = 'thumbnail'; // We want to check if the CPT supports this feature

    global $post;

    $post_id                = ( $post->ID ); // Current post ID
    $post_gallery_field     = get_field('model_gallery', $post_id ); // ACF field

    if  ( !empty( $post_id ) ) {

        if ( isset( $post_gallery_field['0'] ) ) {

            $post_image_id          = $post_gallery_field['0']['id']; // ACF image filed ID
            $post_image_url         = $post_gallery_field['0']['url']; // ACF image filed URL

            // If current cpt supports thumbnails/featured images

            if ( post_type_supports( $current_cpt_name, $current_cpt_support ) ) {

                if ( ( $post_image_url ) AND ( ( $post_image_url ) != ( get_the_post_thumbnail() ) ) ) {

                    update_post_meta($post_id, '_thumbnail_id', $post_image_id);

                }

            }

        } else {

            update_post_meta( $post_id, '_thumbnail_id', 0 );

        }

    }

}
                  

Control Puntuaciones gPadel php

View Snippet
                    <?php
/***** 
    Evitar el accceso a la página de perfil 
****/ 
add_action( 'load-profile.php', 'evita_acceso_perfil' );

function evita_acceso_perfil() {
  if ( ! current_user_can( 'manage_options' ) ) {
    wp_redirect( admin_url('edit.php?post_type=prova_classifica') );
    exit();
  }
}


/****
 ****Evitar que se acceda por URL a los datos
 *****/
add_action('init', 'evita_acceso_todos' );
function evita_acceso_todos(){
	if (current_user_can( 'manage_options' ) )  return;
	$url = $_SERVER[‘PHP_SELF’];
	if(strpos($_SERVER['REQUEST_URI'], "prova_classifica&all_posts") || strpos($_SERVER['REQUEST_URI'], "post_status=publish&post_type=prova_classifica")) {
		 wp_redirect( admin_url('edit.php?post_type=prova_classifica') );
    	 exit();
	}
}


/***** 
    Añadir estilo display: 'none'
****/ 
add_action( 'admin_enqueue_scripts', 'add_estilo_classifica' );
	function add_estilo_classifica() {
	   ?>
	<style>
	   .no-propios-ocultos{
			display:none !important;
		}
	</style>
	<?php
	}

/***** 
    Ocultar los centros no permitidos.
****/ 
add_action( 'admin_footer', 'controla_acceso_classifica' );
	function controla_acceso_classifica() {
		if(current_user_can('manage_options')) return; //Si es administrador no se ejecuta el código
		 $user_centro = wp_get_current_user();
		
	?>
	  <script>
		eliminar_tildes =  (cadena) =>{
			var letras = {
				"á": "a", "é": "e", "í": "i", "ó": "o", "ú": "u",
				"à": "a", "è": "e", "ì": "i", "ò": "o", "ù": "u", "ñ": "n",
				"Á": "A", "É": "E", "Í": "I", "Ó": "O", "Ú": "U",
				"À": "A", "È": "E", "Ì": "I", "Ò": "O", "Ù": "U", "Ñ": "N"
			}
			var buscados = /[áàéèíìóòúùñ]/ig;
			return cadena.replace(buscados, function (e) { return letras[e] });

		}
	  const usernombre = '<?=$user_centro->user_login?>'; 
	  const no_propios = document.querySelectorAll('.author-other') //Ocultar jugadores que no sean del centro.
	  const los_tabs = document.querySelectorAll('.acf-tab-button')//Ocultar otros centros.
	    
	 menus = [document.querySelector('#menu-tools'),//Ocultar el menú de Herramientas.
			  document.querySelector('#wp-admin-bar-new-content'),//Ocultar el menú de + Nuevo
			  document.querySelector('#menu-dashboard'),//Ocultar el menú de Dashboard
			  document.querySelector('#menu-users'),//Ocultar el menú de Perfil.
			  document.querySelector('#menu-posts'),//Ocultar el menú de Post.
			  document.querySelector('#menu-comments'),//Ocultar el menú de Comentarios.
			  document.querySelector('#menu-posts-locations'),//Ocultar el menú de Locations.
			  document.querySelector('.subsubsub'),
			 ]
	function oculta(menu){
		if(menu) menu.classList.add('no-propios-ocultos')
	}
	function tapa(tab){
		tab_text =  eliminar_tildes(tab.textContent)
		if(!tab_text.includes(usernombre)) tab.classList.add('acf-hidden')
		  }
	menus.forEach(oculta) //Ocultar todos los menús que proceda.
	no_propios.forEach(oculta)//Ocultar listado de jugadores que no son del grupo (doble control, no es imprescindible)
	los_tabs.forEach(tapa)//Ocultar centros que no correspondan al controlador.
	  </script>
  <?php
}
                  

Jquery instrucciones javascript

View Snippet
                    $(document).ready(function ()
{
    //Ponemos nuestro código dentro
    
    $('.objetivo').click(function(e){ // Tenemos objetivo con el elemento del DOM, en este caso es la clase objetivo y le asignamos el eventeo click
       // console.log(e)
        $('#navbar ul').toggleClass('.nueva-clase') //  
    })
})
                  

Patrón Modular javascript

View Snippet
                    const myModule = (()=>{
    'use strict'
/*
Se utiliza para restringir el acceso al código desde fuera 
del mismo código
*/
    
    
})();

                  

Duplicados en un Array javascript

View Snippet
                    arr1 = [1, 2, 2, 3, 4, 5]


const hasduplicate = array =>
    new Set(array).size < array.length


console.log(hasduplicate(arr1));