Consulta a la base de datos Wordpress php

View Snippet
                    <?php
/****
 * La clase wpdb se utiliza para interactuar con la base de datos de WordPress. 
 * Primero, necesitas incluir el archivo wp-load.php en tu script para acceder a las funciones 
 * de WordPress y luego usar la instancia global $wpdb para realizar consultas a la base de datos. 
 * Aquí tienes un ejemplo básico de cómo hacer una consulta a la base de datos de WordPress:

 1 - Asegúrate de que tu archivo PHP esté en el mismo directorio que el archivo wp-load.php 
 o modifica la ruta según sea necesario.
 */
require_once('wp-load.php');

/****
 * 2 - Utiliza la instancia global $wpdb para realizar consultas a la base de datos. 
 * Por ejemplo, para obtener todos los posts de la tabla de posts:
*****/
global $wpdb;

// Consulta a la base de datos para obtener todos los posts
$results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}posts WHERE post_type = 'post' AND post_status = 'publish'");

// Imprimir los resultados
foreach ($results as $post) {
    echo "ID: " . $post->ID . "<br>";
    echo "Título: " . $post->post_title . "<br>";
    echo "Contenido: " . $post->post_content . "<br>";
    echo "<hr>";
}
/****
 * Esta consulta seleccionará todos los posts con el tipo 'post' y el estado 'publicado' y luego 
 * imprimirá sus ID, títulos y contenidos.
 * Recuerda que siempre debes validar y desinfectar los datos que provienen de fuentes no 
 * confiables antes de usarlos en consultas a la base de datos para evitar la inyección de SQL. 
 * Puedes usar las funciones proporcionadas por la clase wpdb como $wpdb->prepare() para preparar y proteger tus consultas.

Para obtener más información sobre cómo trabajar con la clase wpdb, consulta la documentación oficial de WordPress:

https://developer.wordpress.org/reference/classes/wpdb/
*/
?>

                  

Noelia text

View Snippet
                    document.addEventListener('DOMContentLoaded', ()=>{
    const ubicacionActual = window.location.href
    const enlacesCabecera = document.querySelectorAll('.header_link')
    const direcciones = ['email','facebook','linkedin','twitter','instagram' ];
    const carRedonda = document.querySelector('.card-imagen-redonda')
    const textoResalta = document.querySelector('.texto-resalta-hover')
    const canva = document.getElementById('seccion-canva-hire')
    const botones = document.querySelectorAll('.boton-hire-me')
    let move = false //Control de posición Canva de Hire Me
    let cantidad = 200 // % Desplazamiento Canva de Hire Me 
    
    enlacesCabecera.forEach((enlaceCab)=>{
       ponActivo = () => enlaceCab.classList.add('activo')
        if(enlaceCab.href == ubicacionActual)  setTimeout(ponActivo, 300);
    })
    direcciones.forEach((direccion)=>{
        let enlazados = document.querySelectorAll('.link-social-link__' + direccion);
        let destino = "facebook.com/Noelia.Amado.Photography/";//If remove this semicolon with minimify option is active console gives error.
        enlazados.forEach((enlazado) =>{ 
            if(direccion === 'email')
                enlazado.href = 'mailto:noelia@noeliaamado.com';
            else{
                 switch(direccion){
                    case'instagram':  destino ="instagram.com/noelia.amado.photography/";
                    break;
                    case'linkedin':   destino ="www.instagram.com/noelia.amado.photography/";
                    break;
                }
            }
                enlazado.href = 'https://'+destino;
        });
     });
     if(ubicacionActual==="https://noeliaamado.com/"){
     textoResalta.addEventListener('mouseover', ()=>{
         carRedonda.classList.add('sobreTexto')
        })
        textoResalta.addEventListener('mouseout', ()=>{carRedonda.classList.remove('sobreTexto')})
    }
    botones.forEach((boton) => {
        boton.addEventListener('click',(e)=>{
            e.preventDefault()
        	move = (move)? false: true
        	if(move){
        	    clase = 'canva-hire-translated-mas';
              canva.style.transform='translateX(0px)'
        	    cantidad = cantidad * -1
        		}else{
        		    clase = 'canva-hire-translated-menos';
                  canva.style.transform='translateX('+cantidad+'%)'
        		} 
        		 
        	})
        })
})
                  

Consulta a la BD wordpress a una tabla php

View Snippet
                    <?php
/***Primero, asegúrate de tener acceso a la instancia global de `$wpdb` agregando la siguiente línea de código
 * en tu archivo de funciones (`functions.php`)
 * de tu tema o en un plugin personalizado:
 * **/
global $wpdb;
/*** Utiliza el método `get_results` o `get_row` de la clase `$wpdb` para ejecutar la consulta SQL. 
 * Por ejemplo, si deseas obtener todos los registros de una tabla personalizada llamada `wp_custom_table`,
 * puedes usar el siguiente código:
****/
$table_name = $wpdb->prefix . 'custom_table';
$results = $wpdb->get_results("SELECT * FROM {$table_name}", ARRAY_A);

foreach ($results as $row) {
    // Procesa cada fila de resultados aquí
    echo 'ID: ' . $row['id'] . ', Nombre: ' . $row['name'] . '<br>';
}

/**En este ejemplo, reemplaza `'custom_table'` con el nombre real de tu tabla y asegúrate de que 
 * los nombres de las columnas coincidan con tu estructura de tabla. 
 * También puedes modificar la consulta SQL según tus necesidades.
 * Por favor, toma en cuenta que realizar consultas directas a la base de datos puede tener implicaciones 
 * de seguridad y rendimiento. Asegúrate de utilizar consultas seguras y de seguir las mejores prácticas 
 * de WordPress al interactuar con la base de datos.
****/
?>


                  

🧐 Scroll auto 🧐 javascript

View Snippet
                    //scrollIntoView propiedad de cualquier elemento HTML
const boton = document.querySelector('#scrolea')
const enlaces = document.querySelectorAll('.enlace')
const scrollAnimado = (elemento) =>{
    const destino = document.querySelector(elemento)
    destino.scrollIntoView({
        behavior: "smooth"
        })
}

enlaces.forEach(enlace => {
    enlace.addEventListener('click', (e)=>{
        e.preventDefault()
       scrollAnimado(enlace.getAttribute('href'))
     })
    })

boton.addEventListener('click', () =>{
    scrollAnimado('.ultimo')
})
                  

CodePen Home A reveal hover effect with one element II css

View Snippet
                    /* https://codepen.io/t_afif/pen/RweZBRg*/

img {
    --s: 200px; /* the size need to match the intrinsic image size for "center" and "random" */
    
    width: var(--s);
    height: var(--s); /* better than aspect-ratio in case the image has a height attribute */
    box-sizing: border-box;
    cursor: pointer;
    transition: .5s;
  }
  img.center {
    object-fit: none; /* this is doing the magic, not a common value but it allows to keep the intrinsice size of the replaced content */
    padding: calc(var(--s)/2);
    background: #88C425;
  }
  img.vertical {
    object-fit: cover; /* we can also use "none" here, it will give the same result */
    padding-block: calc(var(--s)/2);
    background: #F07818;
  }
  img.horizontal {
    object-fit: cover;
    padding-inline: calc(var(--s)/2);
    background: #AB3E5B;
  }
  /* you can use any combination of padding. 
    make sure the padding will cover all the area
    also make sure to correctly set object-position and object-fit to create the illusion of a fixed image
    I may write a small article for it
  */
  img.random {
    object-position: top left;
    object-fit: none;
    padding: 0 var(--s) var(--s) 0;
    background: #0E2430;
  }
  
  img:hover {
    padding: 0;
  }
  
  
  body {
    margin: 0;
    min-height: 100vh;
    display: grid;
    grid-template-columns: auto auto;
    place-content: center;
    gap: 30px;
    background: #C6E5D9;
  }