//Encontar un texto dento de comillas
let texto = "Este es un texto 'desconocido' dentro de comillas";
let resultado = texto.match(/'([^']+)'/)[1];
console.log(resultado); // 'desconocido'
//Reemplazar un texto dentro de comillas
let texto2 = "Este es un texto 'desconocido' dentro de comillas";
let nuevoTexto = "conocido";
let resultado2 = texto.replace(/'([^']+)'/, "'" + nuevoTexto + "'");
console.log(resultado); // Este es un texto 'conocido' dentro de comillas
//Reemplazar todas las apariciones de un texto dentro de comillas
//Se añade g al final de la funcion replace
let texto3 = "Este es un texto 'desconocido' dentro de 'texto' comillas";
let nuevoTexto3 = "conocido";
let resultado3 = texto.replace(/'([^']+)'/g, "'" + nuevoTexto + "'");
console.log(resultado); // Este es un texto 'conocido' dentro de comillas
//Reemplazar todas las apariciones de un texto dentro de una cadena por otro texto con javaxcript
//Forma simplelet cadena = "Este es un ejemplo de texto";
let nuevoTexto = cadena.replace(/texto/g, "cambio");
console.log(nuevoTexto); // "Este es un ejemplo de cambio"
//Con variables
let palabraAnterior = "texto";
let palabraNueva = "cambio";
let cadena = "Este es un ejemplo de texto";
let nuevoTexto = cadena.replace(new RegExp(palabraAnterior, 'g'), palabraNueva);
/*Puedes utilizar el objeto MutationObserver para detectar cambios en un elemento y luego ejecutar una función en consecuencia.
Para hacer esto, debes crear una instancia de MutationObserver y pasarle una función de devolución de llamada (callback) que se ejecutará
cada vez que ocurra un cambio en el elemento.
Aquí te dejo un ejemplo de cómo puedes hacer esto para detectar cambios en la propiedad display de un elemento div:
*/
// Selecciona el elemento div que deseas observar
const divObservado = document.querySelector('#miDiv');
// Crea una instancia de MutationObserver
const observador = new MutationObserver(function(mutaciones) {
// Se ejecutará cada vez que ocurra un cambio en el elemento div
mutaciones.forEach(function(mutation) {
// Verifica si la propiedad display cambió
if (mutation.attributeName === 'style' && mutation.target.style.display !== mutation.oldValue) {
// Ejecuta tu función aquí
miFuncion();
}
});
});
// Configura las opciones del observador
const opcionesObservador = {
attributes: true,
attributeFilter: ['style'],
attributeOldValue: true
};
// Comienza a observar el elemento div
observador.observe(divObservado, opcionesObservador);
// Función que se ejecutará cuando la propiedad display del elemento div cambie
function miFuncion() {
// Tu código aquí
}
/*
En este ejemplo, se selecciona el elemento div que deseas observar y se crea una instancia de MutationObserver.
Luego, se configuran las opciones del observador para que solo observe cambios en la propiedad style del elemento y se
inicia la observación del elemento div. Finalmente, se define una función de devolución de llamada (miFuncion) que se
ejecutará cada vez que la propiedad display del elemento div cambie.
*/
<?php
function comprobar_fecha_borrador($post_id) {
$fecha_borrador = get_post_meta($post_id, 'fecha_borrador', true);
$fecha_actual = date('Y-m-d H:i:s');
if ($fecha_borrador <= $fecha_actual) {
wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
}
}
add_action('wp', 'comprobar_fecha_borrador');
document.addEventListener('DOMContentLoaded', function() {
var images = document.querySelectorAll('.monochrome');
if (images.length) { // Check if there are any images with the "monochrome" class
window.addEventListener('scroll', function() {
var scrollPos = window.pageYOffset;
images.forEach(function(image) {
var offset = image.offsetTop;
if (scrollPos >= offset - 250 && scrollPos <= offset + image.offsetHeight - 250)
image.style.filter = 'grayscale(0%)'; // Set the selected image to full color
else
image.style.filter = 'grayscale(100%)'; // Set the selected image to monochrome
});
});
}
});
<?php
// Usage [hf-fb-gallery id="12"]
// Requires HappyFiles.io plugin. ID = Happyfiles folder ID
add_shortcode( 'hf-fb-gallery' , 'happyfiles_fancybox_gallery' );
function happyfiles_fancybox_gallery($attr){
$args = shortcode_atts( array(
'id' => '0'
), $attr );
$id = $args['id'];
$query_images_args = array(
'post_type' => 'attachment',
'post_mime_type' =>'image',
'post_status' => 'inherit',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'happyfiles_category',
'field' => 'ID',
'terms' => $id,
),
),
);
$query_images = new WP_Query( $query_images_args );
$images = array();
$buffer = '
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.umd.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css" />
<div class="gallery grid-4-3-2">
';
foreach ( $query_images->posts as $image) {
$img = wp_get_attachment_image_url( $image->ID, "full");
$img_thumb = wp_get_attachment_image_url( $image->ID, "thumbnail");
$caption = wp_get_attachment_caption($image->ID);
$buffer .='<a data-fancybox="'.$id.'" data-src="'.$img.'" data-caption="'.$caption.'">';
$buffer .='<img loading="lazy" src="'.$img_thumb.'" style="max-width:100%;height:auto;" />';
$buffer .='</a>';
}
$buffer .='</div>';
wp_reset_postdata();
return $buffer;
}