ejrjekfkfj
/** * HERO VIDEO ELITE PRO – REPLAY SHOW EDITION * V38 — Spinner como hijo de heroBox (position:relative), no del flex del poster * Centro matemático puro top:50% left:50% translate(-50%,-50%) — estático */ add_action(‘wp_ajax_vhp_guardar_titulo’, ‘vhp_handler_guardar_titulo’); add_action(‘wp_ajax_nopriv_vhp_guardar_titulo’, ‘vhp_handler_guardar_titulo’); function vhp_handler_guardar_titulo() { if (!wp_verify_nonce($_POST[‘nonce’] ?? ”, ‘vhp_guardar_titulo’)) { wp_send_json_error(‘No autorizado’); } $id = sanitize_text_field($_POST[‘video_id’] ?? ”); $titulo = sanitize_text_field($_POST[‘titulo’] ?? ”); if (strlen($id) === 11 && !empty($titulo)) { update_option(‘replay_yt_title_’ . $id, $titulo, false); wp_send_json_success([‘id’ => $id, ‘titulo’ => $titulo]); } wp_send_json_error(‘Datos inválidos’); } function vhp_render_hero_player($video_id) { global $post; $current_permalink = is_a($post, ‘WP_Post’) ? get_permalink($post->ID) : home_url(‘/’); if (isset($_GET[‘id’]) && !empty($_GET[‘id’])) $video_id = sanitize_text_field($_GET[‘id’]); elseif (isset($_GET[‘video’]) && !empty($_GET[‘video’])) $video_id = sanitize_text_field($_GET[‘video’]); preg_match(“/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=|shorts\/)|youtu\.be\/)([^\”&?\/\s]{11})/”, $video_id, $matches); $final_id = ($matches && isset($matches[1])) ? $matches[1] : $video_id; $ajax_nonce = wp_create_nonce(‘vhp_guardar_titulo’); $ajax_url = admin_url(‘admin-ajax.php’); ob_start(); ?>
10s
—
0:00
0:00
‹Anterior
1 / 1
Siguiente›