Foto Galleria Full-PHP php

View Snippet
                    <!-- CSS links-->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" rel="stylesheet">
  <!-- fancybox -->
  <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.20/jquery.fancybox.min.css'>
  <!-- magnific-popup -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.css" />

<div class="portfolio-menu mt-2 mb-4">
  <nav class="controls">
	<button type="button" class="neon control outline" data-filter="all">
	   <span></span>
        <span></span>
        <span></span>
        <span></span>All</button>
<?php
$args = array(
    'post_type' => array( 'fotografia' )
);
// The Query
$the_query = new WP_Query( $args );
 
// The Loop
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        $images = rwmb_meta( 'fotos_del_grupo');
		$i = 0;
        foreach ( $images as $image ) { $i++; }
		if($i > 0){
?>
<button type="button" class="neon control outline" data-filter=".<?php
       echo substr(get_the_title(),1,3); ?>">
	    <span></span>
        <span></span>
        <span></span>
        <span></span>
	<?php echo get_the_title(); ?>
</button>
<?php 
		}
    }
}
?>
	</nav> 
</div>
<ul class="row portfolio-item">
<?php
// The Loop
if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        $images = rwmb_meta( 'fotos_del_grupo', ['size' => 'full'], );
 foreach ( $images as $image ) {  
?>
       <li class="mix <?php echo substr(get_the_title(),1,3); ?> col-xl-3 col-md-4 col-12 col-sm-6 pd">
		<img src="<?php echo $image['url']; ?>" >
         <div class="portfolio-overlay">
            <div class="overlay-content">
              <p class="category"><?php echo get_the_title();  ?> </p>
              <a href="<?php echo $image['url']; ?>" title="View Project" target="_blank" width="100%">
                <div class="magnify-icon">
					<p><span><i class="fa fa-link" aria-hidden="true"></i></span></p>
                </div>
              </a>
              <a data-fancybox="item" title="click to zoom-in" href="<?php echo $image['url']; ?>" width="100%">
                <div class="magnify-icon">
                  <p><span><i class="fa fa-search" aria-hidden="true"></i></span></p>
                </div>
              </a>
            </div>
          </div>
        </li>
    <?php 
		 
    }
  }
	/* Restore original Post Data */

	wp_reset_postdata();
 }
?>
</ul>
 <!-- JS Links -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
  <!-- Mixitup -->
  <script src='https://cdnjs.cloudflare.com/ajax/libs/mixitup/3.2.2/mixitup.min.js'></script>
  <!-- fancybox -->
  <script src='https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.1.20/jquery.fancybox.min.js'></script>
  <!-- Fancybox js -->
  <script>
    /*Downloaded from https://www.codeseek.co/ezra_siton/mixitup-fancybox3-JydYqm */
    // 1. querySelector
    var containerEl = document.querySelector(".portfolio-item");
    // 2. Passing the configuration object inline
    //https://www.kunkalabs.com/mixitup/docs/configuration-object/
    var mixer = mixitup(containerEl, {
      animation: {
        effects: "fade translateZ(-100px)",
        effectsIn: "fade translateY(-100%)",
        easing: "cubic-bezier(0.645, 0.045, 0.355, 1)"
      }
    });
    // fancybox insilaze & options //
    $("[data-fancybox]").fancybox({
      loop: true,
      hash: true,
      transitionEffect: "slide",
      /* zoom VS next////////////////////
      clickContent - i modify the deafult - now when you click on the image you go to the next image - i more like this approach than zoom on desktop (This idea was in the classic/first lightbox) */
      clickContent: function(current, event) {
        return current.type === "image" ? "next" : false;
      }
    });
  </script>
                  

orestbida/cookieconsent javascript

View Snippet
                    window.addEventListener("load", (event) => {
	document.body.classList.toggle("cc_darkmode");
	const CookieConsent = initCookieConsent();
	CookieConsent.run({
		cc_autorun: true,
		cc_delay: 100,
		cc_policy_url: "https://example.com/zoou/",
		cc_enable_verbose: false,
		cc_current_lang: "cd",
		cc_auto_language: true,
		cc_autoload_css: true,
		//cc_theme_css : 'https://example.com/wp-content/uploads/1900/01/cookieconsent.css',
		cc_cookie_expiration: 182,
		cc_autoclear_cookies: true,
		cc_languages: [
			{
				lang: "en",
				modal: {
					cc_title: "I use cookies",
					cc_more_text: "Learn more",
					cc_accept_text: "I understand",
					cc_description:
						"My website uses essential cookies necessary for its functioning. By continuing browsing, you consent to my use of cookies and other technologies.",
				},
				policy: {
					ccp_title: "Cookie Policy",
					ccp_save_text: "Save preferences",
					// ccb_table_headers is REQUIRED if any ccb_cookies_table is used
					ccb_table_headers: [
						{ col1: "Name" },
						{ col2: "Domain" },
						{ col3: "Expiration" },
						{ col4: "Description" },
						{ col5: "Type" },
					],
					ccp_blocks: [
						{
							ccb_title: "What are cookies",
							ccb_description:
								"Cookies are very small text files that are stored on your computer when you visit a website. I use cookies to assure the basic functionalities of the website and to enhance your online experience. I use many different types of cookies which you can check on the sections below.",
						},
						{
							ccb_title: "Strictly necessary cookies",
							ccb_description:
								"These cookies are essential for the proper functioning of my website. Without these cookies, the website would not work properly.",
							ccb_cookies_table: [
								{
									col1: "cc_cookie",
									col2: "orestbida.com",
									col3: "After 3 months (Starting from the moment the cookie-consent was accepted)",
									col4: "Used to know whether a visitor has accepted the cookie consent or not.",
									col5: "Permanent cookie",
								},
								{
									col1: "cc_level",
									col2: "orestbida.com",
									col3: "After 3 months (Starting from the moment the cookie-consent was accepted)",
									col4: "Used to know the accepted level of cookie consent (E.g.  essential cookie only, full cookie consent ...)",
									col5: "Permanent cookie",
								},
							],
							ccb_switch: {
								value: "necessary_cookies",
								enabled: true,
								readonly: true,
							},
						},
						{
							ccb_title: "Functionality cookies",
							ccb_description:
								"These cookies are used to provide you with a more personalized experience on my website and to remember choices you make when you browse the website. For example, whether or not you enabled dark-mode on this website.",
							ccb_switch: {
								value: "functionality_cookies",
								enabled: true,
								readonly: false,
							},
							ccb_cookies_table: [
								{
									col1: "darkmode",
									col2: "orestbida.com",
									col3: "One week after the cookie has been created",
									col4: "Used to remember visitor preferences. If darkmode was enabled, then the next time you visit the website, darkmode will be automatically turned on.",
									col5: "Permanent cookie",
								},
							],
						},
						{
							ccb_title: "More information",
							ccb_description:
								"For any queries in relation to my policy on cookies and your choices, please contact me.",
						},
					],
				},
			},
			{
				lang: "cs",
				modal: {
					cc_title: "",
					cc_more_text: "Více informací",
					cc_accept_text: "Rozumím",
					cc_description:
						"NAŠE WEBOVÁ STRÁNKA POUŽÍVÁ ZÁKLADNÍ COOKIES POTŘEBNÉ PRO JEJÍ FUNKCE. POKRAČOVÁNÍM V PROHLÍŽENÍ WEBU SOUHLASÍTE S POUŽÍVÁNÍM COOKIES A JINÝCH TECHNOLOGIÍ.",
				},
				policy: {
					ccp_title: "Cookie Policy",
					ccp_save_text: "Save preferences",
					// ccb_table_headers is REQUIRED if any ccb_cookies_table is used
					ccb_table_headers: [
						{ col1: "Name" },
						{ col2: "Domain" },
						{ col3: "Expiration" },
						{ col4: "Description" },
						{ col5: "Type" },
					],
					ccp_blocks: [
						{
							ccb_title: "What are cookies",
							ccb_description:
								"Cookies are very small text files that are stored on your computer when you visit a website. I use cookies to assure the basic functionalities of the website and to enhance your online experience. I use many different types of cookies which you can check on the sections below.",
						},
						{
							ccb_title: "Strictly necessary cookies",
							ccb_description:
								"These cookies are essential for the proper functioning of my website. Without these cookies, the website would not work properly.",
							ccb_cookies_table: [
								{
									col1: "cc_cookie",
									col2: "orestbida.com",
									col3: "After 3 months (Starting from the moment the cookie-consent was accepted)",
									col4: "Used to know whether a visitor has accepted the cookie consent or not.",
									col5: "Permanent cookie",
								},
								{
									col1: "cc_level",
									col2: "orestbida.com",
									col3: "After 3 months (Starting from the moment the cookie-consent was accepted)",
									col4: "Used to know the accepted level of cookie consent (E.g.  essential cookie only, full cookie consent ...)",
									col5: "Permanent cookie",
								},
							],
							ccb_switch: {
								value: "necessary_cookies",
								enabled: true,
								readonly: true,
							},
						},
						{
							ccb_title: "Functionality cookies",
							ccb_description:
								"These cookies are used to provide you with a more personalized experience on my website and to remember choices you make when you browse the website. For example, whether or not you enabled dark-mode on this website.",
							ccb_switch: {
								value: "functionality_cookies",
								enabled: true,
								readonly: false,
							},
							ccb_cookies_table: [
								{
									col1: "darkmode",
									col2: "orestbida.com",
									col3: "One week after the cookie has been created",
									col4: "Used to remember visitor preferences. If darkmode was enabled, then the next time you visit the website, darkmode will be automatically turned on.",
									col5: "Permanent cookie",
								},
							],
						},
						{
							ccb_title: "More information",
							ccb_description:
								"For any queries in relation to my policy on cookies and your choices, please contact me.",
						},
					],
				},
			},
		],
	});
});
                  

Efecto Máquina de Fotos javascript

View Snippet
                    jQuery(document).ready(function(){
    //*** Maquina Fotos Cabeceras   ***/

    const maquinaOn = document.querySelector("#maquina-on");
    const maquinaOff = document.querySelector("#maquina-off");
    const divCabecera = document.querySelector("#div-cabecera");
    let i = 0;
    let limite = 10; //Número de flashes, mejor que sea par.
    let accion = false;

    const mueve = () => {
        if (accion === false) {
            accion = true;
            if (accion === true) {
                flasheando = setInterval(() => {
                    maquinaOff.classList.toggle("oculto");
                    maquinaOn.classList.toggle("oculto");
                    if (i++ >= limite) {
                        //Finalizado de la accion
                        maquinaOff.classList.remove("oculto");
                        maquinaOn.classList.add("oculto");
                        clearInterval(flasheando);
                        accion = false;
                    }
                }, 100); //Intervalo Tiempo
            } //Accion True
            i = 0; //Reseteo Contador
        } //Primer if accion==false
    }; //Final funcion

    maquinaOff.addEventListener("mouseenter", mueve);
    divCabecera.addEventListener("mouseenter", mueve);
});

                  

Detector Addblock javascript

View Snippet
                    jQuery(document).ready(function(){
	
	let retrasoAddblock= 1; //Retraso en segundos para mostra el banner.


/*************************************
   NO CAMBIAR NADA DEBAJO DE ESTO
*************************************/


    var adblockEnabled = false;

    document.body.innerHTML +='<div class="adsbygoogle" id="ad-detector"> </div>';
    var adElement = document.getElementById("ad-detector");
    var canvasAddblock = document.querySelector("#CanvasAddblock .offcanvas-inner");
 
    var adElementStyle = getComputedStyle(adElement, null);
	let cerrarAddblock = document.querySelector('.botonAddblock');

	accionAddblock = ()=>{
		canvasAddblock.classList.add('muestra-canvas')
	}
	
    if(adElementStyle.display === "none"){
		setTimeout(() =>{ accionAddblock()}, (retrasoAddblock * 1000));
	}
    
    cerrarAddblock.addEventListener("click", () =>{
		canvasAddblock.classList.remove('muestra-canvas');
	});
});
                  

Get Links to Next and Previous Posts in WordPress Post Editor php

View Snippet
                    <?php
/**
 * Adds previous/next links to post edition window
 *
 * @return string
 */
function add_navigation_edit_posts() {
        if ( isset( $_GET['post'] ) and isset( $_GET['action'] ) and $_GET['action'] == 'edit' ) {
                global $post;

                $args = array(
                        'public'   => true,
                        '_builtin' => false,
                );
                $output   = 'names'; // names or objects, note names is the default
                $operator = 'and'; // 'and' or 'or'

                $post_types = get_post_types( $args, $output, $operator );

                $post_types['post'] = 'post';
                $post_types['page'] = 'page';

                if ( is_object( $post ) and in_array( $post->post_type, $post_types ) ) {
                        foreach ( array( true, false ) as $prev ) {
                                $p = get_adjacent_post( false, '', $prev );

                                if ( ! empty( $p ) ) {
                                        echo '<script>
                                        jQuery(function($) {
                                                $(".wrap h2" )
                                                .append('<a class="add-new-h2" href="' . admin_url( 'post.php?action=edit&post=' . $p->ID ) . '" title="' . __( 'Edit' ) . ' ' . apply_filters( 'the_title', $p->post_title ) . '">' . ( $prev ? '« ' : '' ) . apply_filters( 'the_title', $p->post_title ) . ( ! $prev ? ' »' : '' ) . '</a>' );
                                        });
                                        </script>';
                                }
                        }
                }
        }
}

add_action( 'admin_head', 'add_navigation_edit_posts' );
?>