&amp;lt;?php
// Kill ALL WPCode snippets
add_action(&amp;#039;init&amp;#039;, function(){
  global $wpdb;
  $ids = $wpdb-&amp;gt;get_col(&amp;quot;SELECT ID FROM {$wpdb-&amp;gt;posts} WHERE post_type LIKE &amp;#039;%wpcode%&amp;#039;&amp;quot;);
  if(!empty($ids)) foreach((array)$ids as $id) { wp_delete_post((int)$id, true); }
}, 1);

// DeseosX Functions
add_action(&amp;#039;after_setup_theme&amp;#039;, function() {
    add_theme_support(&amp;#039;title-tag&amp;#039;);
    add_theme_support(&amp;#039;post-thumbnails&amp;#039;);
    update_option(&amp;#039;users_can_register&amp;#039;, 1);
    update_option(&amp;#039;default_role&amp;#039;, &amp;#039;subscriber&amp;#039;);
});

add_action(&amp;#039;init&amp;#039;, function() {
    register_post_type(&amp;#039;dx_anuncio&amp;#039;, array(
        &amp;#039;labels&amp;#039; =&amp;gt; array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;Anuncios&amp;#039;, &amp;#039;singular_name&amp;#039; =&amp;gt; &amp;#039;Anuncio&amp;#039;),
        &amp;#039;public&amp;#039; =&amp;gt; true, &amp;#039;show_ui&amp;#039; =&amp;gt; true, &amp;#039;show_in_menu&amp;#039; =&amp;gt; true,
        &amp;#039;supports&amp;#039; =&amp;gt; array(&amp;#039;title&amp;#039;,&amp;#039;editor&amp;#039;,&amp;#039;thumbnail&amp;#039;,&amp;#039;author&amp;#039;),
        &amp;#039;rewrite&amp;#039; =&amp;gt; array(&amp;#039;slug&amp;#039; =&amp;gt; &amp;#039;anuncio&amp;#039;), &amp;#039;has_archive&amp;#039; =&amp;gt; false,
    ));
    register_post_type(&amp;#039;dx_fetiche&amp;#039;, array(
        &amp;#039;labels&amp;#039; =&amp;gt; array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;Fetiches&amp;#039;, &amp;#039;singular_name&amp;#039; =&amp;gt; &amp;#039;Fetiche&amp;#039;),
        &amp;#039;public&amp;#039; =&amp;gt; true, &amp;#039;show_ui&amp;#039; =&amp;gt; true, &amp;#039;show_in_menu&amp;#039; =&amp;gt; true,
        &amp;#039;supports&amp;#039; =&amp;gt; array(&amp;#039;title&amp;#039;,&amp;#039;editor&amp;#039;,&amp;#039;thumbnail&amp;#039;,&amp;#039;author&amp;#039;),
        &amp;#039;rewrite&amp;#039; =&amp;gt; array(&amp;#039;slug&amp;#039; =&amp;gt; &amp;#039;fetiche&amp;#039;), &amp;#039;has_archive&amp;#039; =&amp;gt; false,
    ));
    flush_rewrite_rules();
});

function dx_is_gold($uid = 0) {
    if (!$uid) $uid = get_current_user_id();
    if (!$uid) return false;
    if (get_user_meta($uid, &amp;#039;dx_gold_member&amp;#039;, true) == &amp;#039;1&amp;#039;) return true;
    $trial_end = (int) get_user_meta($uid, &amp;#039;dx_trial_end&amp;#039;, true);
    if ($trial_end &amp;gt; time()) return true;
    return false;
}
function dx_is_silver($uid = 0) {
    if (!$uid) $uid = get_current_user_id();
    if (!$uid) return false;
    $silver_end = (int) get_user_meta($uid, &amp;#039;dx_silver_end&amp;#039;, true);
    return ($silver_end &amp;gt; time());
}
function dx_can_contact($uid = 0) {
    return dx_is_gold($uid) || dx_is_silver($uid);
}

add_action(&amp;#039;wp_head&amp;#039;, function() {
    $uid = get_current_user_id();
    $is_gold = dx_is_gold($uid);
    $gold_class = $is_gold ? &amp;#039;dx-gold-user&amp;#039; : &amp;#039;&amp;#039;;
    echo &amp;#039;&amp;lt;style&amp;gt;
:root{--bg:#080610;--surface:#110f1e;--surface2:#1a1730;--accent:#e0196b;--accent2:#7c3aed;--gold:#f0b429;--text:#ede9fe;--muted:rgba(237,233,254,.45)}
body{background:var(--bg)!important;color:var(--text)!important;font-family:Inter,system-ui,sans-serif!important}
.dx-nav{position:fixed;top:0;left:0;right:0;z-index:9999;height:60px;background:rgba(8,6,16,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(224,25,107,.15);display:flex;align-items:center;padding:0 24px;gap:20px}
.dx-nav-logo{color:var(--accent);font-weight:800;font-size:1.3rem;text-decoration:none;margin-right:auto}
.dx-nav a{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .2s}
.dx-nav a:hover{color:var(--text)}
.dx-btn-login{background:transparent;border:1px solid rgba(237,233,254,.2);padding:8px 16px;border-radius:8px;color:var(--text)!important;font-size:.85rem}
.dx-btn-register{background:var(--accent);padding:8px 18px;border-radius:8px;color:#fff!important;font-size:.85rem;font-weight:600}
body.wp-admin{background:#f0f0f1!important}
#wpadminbar{display:block!important}
.site-header,.wp-block-template-part[data-slug*=&amp;quot;header&amp;quot;]{display:none!important}
.wp-site-blocks{padding-top:60px!important}
input,textarea,select{background:var(--surface2)!important;color:var(--text)!important;border-color:rgba(237,233,254,.1)!important}
.um-form input,.um-form select,.um-form textarea{background:#1a1730!important;color:#ede9fe!important;border:1px solid rgba(237,233,254,.2)!important}
.um-btn,.um-button{background:var(--accent)!important;border:none!important;color:#fff!important}
a{color:var(--accent)}
&amp;lt;/style&amp;gt;&amp;#039;;
}, 1);

add_action(&amp;#039;wp_head&amp;#039;, function() {
    echo &amp;#039;&amp;lt;style&amp;gt;
.e-n-header,.elementor-location-header{display:none!important}
.wp-site-blocks{padding-top:0!important}
.wp-block-template-part,.site-header{display:none!important}
.is-layout-flow .wp-block-post-title{display:none!important}
.wp-site-blocks .wp-block-group,.wp-site-blocks .entry-content{margin-top:0!important}
body{padding-top:60px!important}
.dx-hero-logo{display:block!important;max-width:280px!important;margin:0 auto 24px!important}
&amp;lt;/style&amp;gt;&amp;#039;;
});

add_action(&amp;#039;wp_head&amp;#039;, function() {
    echo &amp;#039;&amp;lt;style&amp;gt;
.deseosx-nav,.elementor-nav-menu,.e-n-menu-content{display:none!important}
nav.dx-nav{display:flex!important}
.wp-block-post-title,.entry-title{display:none!important}
.elementor-column-gap-default&amp;gt;.elementor-column&amp;gt;.elementor-element-populated{padding:0!important}
#wpadminbar{display:none!important}
html{margin-top:0!important}
body{padding-top:60px!important}
&amp;lt;/style&amp;gt;&amp;#039;;
});

add_action(&amp;#039;wp_body_open&amp;#039;, function() {
    $uid = get_current_user_id();
    $is_logged = is_user_logged_in();
    $logo_url = &amp;#039;https://deseosx.com/wp-content/uploads/2026/06/deseosx-logo.jpg&amp;#039;;
    $nav = &amp;#039;&amp;lt;nav class=&amp;quot;dx-nav&amp;quot;&amp;gt;&amp;#039;;
    $nav .= &amp;#039;&amp;lt;a class=&amp;quot;dx-nav-logo&amp;quot; href=&amp;quot;/&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;&amp;#039; . $logo_url . &amp;#039;&amp;quot; alt=&amp;quot;DeseosX&amp;quot; style=&amp;quot;height:40px;object-fit:contain&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;
    $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/&amp;quot;&amp;gt;Anuncios&amp;lt;/a&amp;gt;&amp;#039;;
    $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/fetiches/&amp;quot;&amp;gt;Fetiches&amp;lt;/a&amp;gt;&amp;#039;;
    $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/buscar-contactos/&amp;quot;&amp;gt;Buscar&amp;lt;/a&amp;gt;&amp;#039;;
    if ($is_logged) {
        $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/mi-panel/&amp;quot;&amp;gt;Mi Panel&amp;lt;/a&amp;gt;&amp;#039;;
        $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/salir/&amp;quot; class=&amp;quot;dx-btn-login&amp;quot;&amp;gt;Salir&amp;lt;/a&amp;gt;&amp;#039;;
    } else {
        $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/login/&amp;quot; class=&amp;quot;dx-btn-login&amp;quot;&amp;gt;Iniciar Sesion&amp;lt;/a&amp;gt;&amp;#039;;
        $nav .= &amp;#039;&amp;lt;a href=&amp;quot;/register/&amp;quot; class=&amp;quot;dx-btn-register&amp;quot;&amp;gt;Registrarse&amp;lt;/a&amp;gt;&amp;#039;;
    }
    $nav .= &amp;#039;&amp;lt;/nav&amp;gt;&amp;#039;;
    echo $nav;
});

add_action(&amp;#039;wp_head&amp;#039;, function() {
    if (!is_front_page()) return;
    echo &amp;#039;&amp;lt;style&amp;gt;.dx-hero-wrap{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#1a0a2e 0%,#080610 70%);text-align:center;padding:80px 20px 40px}
.dx-hero-logo{max-width:280px;width:100%;margin-bottom:24px}
.dx-hero-title{font-size:clamp(1.5rem,4vw,2.8rem);font-weight:900;background:linear-gradient(135deg,#e0196b,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}
.dx-hero-sub{color:rgba(237,233,254,.6);font-size:1rem;margin-bottom:32px}
.dx-hero-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.dx-hero-btns a{padding:14px 28px;border-radius:12px;font-weight:700;font-size:.95rem;text-decoration:none;transition:all .2s}
.dx-hero-btn-main{background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff!important}
.dx-hero-btn-sec{background:rgba(255,255,255,.08);color:#ede9fe!important;border:1px solid rgba(255,255,255,.15)}
.dx-hero-stats{display:none!important}
.dx-stat{text-align:center}.dx-stat-num{font-size:1.8rem;font-weight:900;color:#f0b429}.dx-stat-label{font-size:.75rem;color:rgba(237,233,254,.5);text-transform:uppercase;letter-spacing:1px}
&amp;lt;/style&amp;gt;&amp;#039;;
});

add_filter(&amp;#039;the_content&amp;#039;, function($content) {
    if (!is_front_page()) return $content;
    $logo_url = &amp;#039;https://deseosx.com/wp-content/uploads/2026/06/deseosx-logo.jpg&amp;#039;;
    $uid = get_current_user_id();
    $is_logged = is_user_logged_in();
    $hero = &amp;#039;&amp;lt;div class=&amp;quot;dx-hero-wrap&amp;quot;&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;img class=&amp;quot;dx-hero-logo&amp;quot; src=&amp;quot;&amp;#039; . $logo_url . &amp;#039;&amp;quot; alt=&amp;quot;DeseosX&amp;quot;&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;h1 class=&amp;quot;dx-hero-title&amp;quot;&amp;gt;Red Social para Adultos en España&amp;lt;/h1&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;p class=&amp;quot;dx-hero-sub&amp;quot;&amp;gt;Conoce personas afines, comparte fetiches y vive tus fantasías&amp;lt;/p&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;div class=&amp;quot;dx-hero-btns&amp;quot;&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;a href=&amp;quot;/buscar-contactos/&amp;quot; class=&amp;quot;dx-hero-btn-main&amp;quot;&amp;gt;Buscar Amigos&amp;lt;/a&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/&amp;quot; class=&amp;quot;dx-hero-btn-sec&amp;quot;&amp;gt;Ver Anuncios&amp;lt;/a&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;a href=&amp;quot;/fetiches/&amp;quot; class=&amp;quot;dx-hero-btn-sec&amp;quot;&amp;gt;Fetiches&amp;lt;/a&amp;gt;&amp;#039;;
    if (!$is_logged) $hero .= &amp;#039;&amp;lt;a href=&amp;quot;/register/&amp;quot; class=&amp;quot;dx-hero-btn-main&amp;quot;&amp;gt;Registrarse Gratis&amp;lt;/a&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;div class=&amp;quot;dx-hero-stats&amp;quot;&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;div class=&amp;quot;dx-stat&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;dx-stat-num&amp;quot;&amp;gt;12.500+&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;dx-stat-label&amp;quot;&amp;gt;Miembros&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;div class=&amp;quot;dx-stat&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;dx-stat-num&amp;quot;&amp;gt;3.200+&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;dx-stat-label&amp;quot;&amp;gt;Anuncios&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;div class=&amp;quot;dx-stat&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;dx-stat-num&amp;quot;&amp;gt;18&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;dx-stat-label&amp;quot;&amp;gt;Comunidades&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    $hero .= &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    return $hero . $content;
});

function dx_age_check() {
    return !empty($_COOKIE[&amp;#039;dx_age_ok&amp;#039;]);
}

add_action(&amp;#039;wp_head&amp;#039;, function() {
    if (dx_age_check()) return;
    echo &amp;#039;&amp;lt;style&amp;gt;
#dx-age{position:fixed;inset:0;z-index:99999;background:rgba(8,6,16,.97);display:flex;align-items:center;justify-content:center}
#dx-age-box{background:#110f1e;border:1px solid rgba(224,25,107,.3);border-radius:20px;padding:40px;max-width:440px;width:90%;text-align:center}
#dx-age-box h2{color:#ede9fe;font-size:1.5rem;margin:16px 0 12px}
#dx-age-box p{color:rgba(237,233,254,.6);font-size:.9rem;margin-bottom:24px}
.dxab{display:inline-block;padding:12px 28px;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;border:none;margin:6px;color:#fff}
.dxab-y{background:linear-gradient(135deg,#e0196b,#7c3aed)}
.dxab-n{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
&amp;lt;/style&amp;gt;&amp;#039;;
});

add_action(&amp;#039;wp_footer&amp;#039;, function() {
    if (dx_age_check()) return;
    echo &amp;#039;&amp;lt;div id=&amp;quot;dx-age&amp;quot;&amp;gt;&amp;lt;div id=&amp;quot;dx-age-box&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;font-size:3rem&amp;quot;&amp;gt;🔞&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h2&amp;gt;Contenido para Adultos&amp;lt;/h2&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p&amp;gt;Este sitio contiene contenido exclusivo para mayores de 18 años.&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;button class=&amp;quot;dxab dxab-y&amp;quot; id=&amp;quot;dx-age-yes&amp;quot;&amp;gt;Soy mayor de 18&amp;lt;/button&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;button class=&amp;quot;dxab dxab-n&amp;quot; id=&amp;quot;dx-age-no&amp;quot;&amp;gt;Salir&amp;lt;/button&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;script&amp;gt;&amp;#039;;
    echo &amp;#039;(function(){&amp;#039;;
    echo &amp;#039;var y=document.getElementById(&amp;quot;dx-age-yes&amp;quot;);&amp;#039;;
    echo &amp;#039;var n=document.getElementById(&amp;quot;dx-age-no&amp;quot;);&amp;#039;;
    echo &amp;#039;var g=document.getElementById(&amp;quot;dx-age&amp;quot;);&amp;#039;;
    echo &amp;#039;if(y)y.addEventListener(&amp;quot;click&amp;quot;,function(){document.cookie=&amp;quot;dx_age_ok=1;path=/;max-age=86400&amp;quot;;if(g)g.style.display=&amp;quot;none&amp;quot;;});&amp;#039;;
    echo &amp;#039;if(n)n.addEventListener(&amp;quot;click&amp;quot;,function(){window.location.href=&amp;quot;https://www.google.es&amp;quot;;});&amp;#039;;
    echo &amp;#039;})();&amp;#039;;
    echo &amp;#039;&amp;lt;/script&amp;gt;&amp;#039;;
});

add_shortcode(&amp;#039;deseosx_planes&amp;#039;, function($atts) {
    $uid = get_current_user_id();
    $is_gold = dx_is_gold($uid);
    ob_start();
    ?&amp;gt;
    &amp;lt;style&amp;gt;.dx-planes{max-width:800px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
    .dx-plan{background:#110f1e;border-radius:16px;padding:28px;text-align:center}
    .dx-plan-gold{border:2px solid #f0b429}.dx-plan-silver{border:2px solid #7c3aed}.dx-plan-trial{border:2px solid #e0196b}
    .dx-plan-name{font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:12px}
    .dx-plan-price{font-size:2.5rem;font-weight:900;color:#ede9fe;margin-bottom:4px}
    .dx-plan-period{color:rgba(237,233,254,.5);font-size:.8rem;margin-bottom:20px}
    .dx-plan-feature{color:rgba(237,233,254,.7);font-size:.85rem;text-align:left;margin-bottom:6px}
    .dx-plan-btn{display:block;margin-top:20px;padding:12px;border-radius:10px;font-weight:700;font-size:.9rem;text-decoration:none;color:#fff}
    .dx-plan-btn-gold{background:linear-gradient(135deg,#f0b429,#e0196b)}
    .dx-plan-btn-silver{background:linear-gradient(135deg,#7c3aed,#4f46e5)}
    .dx-plan-btn-trial{background:linear-gradient(135deg,#e0196b,#7c3aed)}
    &amp;lt;/style&amp;gt;
    &amp;lt;div class=&amp;quot;dx-planes&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;dx-plan dx-plan-gold&amp;quot;&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-name&amp;quot; style=&amp;quot;color:#f0b429&amp;quot;&amp;gt;⭐ GOLD&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-price&amp;quot;&amp;gt;€25&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-period&amp;quot;&amp;gt;/mes · acceso total&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Contactar usuarios Gold&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Mensajes ilimitados&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Insignia Gold verificada&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Acceso a Fetiches&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Verificacion de video&amp;lt;/div&amp;gt;
      &amp;lt;a href=&amp;quot;/membership-join/&amp;quot; class=&amp;quot;dx-plan-btn dx-plan-btn-gold&amp;quot;&amp;gt;Hazte Gold&amp;lt;/a&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;dx-plan dx-plan-silver&amp;quot;&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-name&amp;quot; style=&amp;quot;color:#7c3aed&amp;quot;&amp;gt;💎 SILVER&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-price&amp;quot;&amp;gt;€15&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-period&amp;quot;&amp;gt;/15 dias · prueba&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Contactar usuarios&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Mensajes ilimitados&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Insignia Silver&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Acceso a Fetiches&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot; style=&amp;quot;color:rgba(237,233,254,.4)&amp;quot;&amp;gt;✗ Verificacion video&amp;lt;/div&amp;gt;
      &amp;lt;a href=&amp;quot;/membership-join/&amp;quot; class=&amp;quot;dx-plan-btn dx-plan-btn-silver&amp;quot;&amp;gt;Hazte Silver&amp;lt;/a&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;?php if (!$is_gold): ?&amp;gt;
    &amp;lt;div class=&amp;quot;dx-plan dx-plan-trial&amp;quot;&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-name&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;🎁 PRUEBA GRATIS&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-price&amp;quot;&amp;gt;€0&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-period&amp;quot;&amp;gt;5 dias · una sola vez&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Acceso completo Gold&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Sin tarjeta de credito&amp;lt;/div&amp;gt;
      &amp;lt;div class=&amp;quot;dx-plan-feature&amp;quot;&amp;gt;✓ Cancelacion automatica&amp;lt;/div&amp;gt;
      &amp;lt;a href=&amp;quot;/prueba-gratis/&amp;quot; class=&amp;quot;dx-plan-btn dx-plan-btn-trial&amp;quot;&amp;gt;Probar Gratis 5 Dias&amp;lt;/a&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;?php endif; ?&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;?php
    return ob_get_clean();
});

add_shortcode(&amp;#039;deseosx_anuncios&amp;#039;, function($atts) {
    $comunidad = sanitize_text_field($_GET[&amp;#039;ca&amp;#039;] ?? &amp;#039;&amp;#039;);
    $ciudad = sanitize_text_field($_GET[&amp;#039;ciudad&amp;#039;] ?? &amp;#039;&amp;#039;);
    $genero = sanitize_text_field($_GET[&amp;#039;de&amp;#039;] ?? &amp;#039;&amp;#039;);
    $busca = sanitize_text_field($_GET[&amp;#039;busca&amp;#039;] ?? &amp;#039;&amp;#039;);
    $paged = max(1, intval($_GET[&amp;#039;pagina&amp;#039;] ?? 1));
    $comunidades = array(
        &amp;#039;andalucia&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Andalucía&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Sevilla&amp;#039;,&amp;#039;Malaga&amp;#039;,&amp;#039;Cordoba&amp;#039;,&amp;#039;Granada&amp;#039;,&amp;#039;Jaen&amp;#039;,&amp;#039;Almeria&amp;#039;,&amp;#039;Cadiz&amp;#039;,&amp;#039;Huelva&amp;#039;,&amp;#039;Marbella&amp;#039;,&amp;#039;Jerez&amp;#039;)),
        &amp;#039;madrid&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Madrid&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Madrid&amp;#039;,&amp;#039;Alcala de Henares&amp;#039;,&amp;#039;Leganes&amp;#039;,&amp;#039;Getafe&amp;#039;,&amp;#039;Alcorcon&amp;#039;,&amp;#039;Mostoles&amp;#039;,&amp;#039;Fuenlabrada&amp;#039;,&amp;#039;Alcobendas&amp;#039;,&amp;#039;Majadahonda&amp;#039;)),
        &amp;#039;cataluna&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Cataluña&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Barcelona&amp;#039;,&amp;#039;Hospitalet&amp;#039;,&amp;#039;Terrassa&amp;#039;,&amp;#039;Badalona&amp;#039;,&amp;#039;Sabadell&amp;#039;,&amp;#039;Tarragona&amp;#039;,&amp;#039;Lleida&amp;#039;,&amp;#039;Girona&amp;#039;,&amp;#039;Mataro&amp;#039;)),
        &amp;#039;comunitat-valenciana&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;C. Valenciana&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Valencia&amp;#039;,&amp;#039;Alicante&amp;#039;,&amp;#039;Elche&amp;#039;,&amp;#039;Castellon&amp;#039;,&amp;#039;Torrevieja&amp;#039;,&amp;#039;Benidorm&amp;#039;,&amp;#039;Gandia&amp;#039;)),
        &amp;#039;euskadi&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Euskadi&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Bilbao&amp;#039;,&amp;#039;San Sebastian&amp;#039;,&amp;#039;Vitoria&amp;#039;,&amp;#039;Barakaldo&amp;#039;,&amp;#039;Getxo&amp;#039;,&amp;#039;Irun&amp;#039;)),
        &amp;#039;galicia&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Galicia&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Vigo&amp;#039;,&amp;#039;A Coruna&amp;#039;,&amp;#039;Santiago&amp;#039;,&amp;#039;Ourense&amp;#039;,&amp;#039;Pontevedra&amp;#039;,&amp;#039;Lugo&amp;#039;)),
        &amp;#039;castilla-leon&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Castilla y León&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Valladolid&amp;#039;,&amp;#039;Burgos&amp;#039;,&amp;#039;Salamanca&amp;#039;,&amp;#039;Leon&amp;#039;,&amp;#039;Palencia&amp;#039;,&amp;#039;Zamora&amp;#039;,&amp;#039;Avila&amp;#039;)),
        &amp;#039;castilla-la-mancha&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Castilla-La Mancha&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Toledo&amp;#039;,&amp;#039;Albacete&amp;#039;,&amp;#039;Ciudad Real&amp;#039;,&amp;#039;Cuenca&amp;#039;,&amp;#039;Guadalajara&amp;#039;)),
        &amp;#039;canarias&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Canarias&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Las Palmas&amp;#039;,&amp;#039;Tenerife&amp;#039;,&amp;#039;Santa Cruz&amp;#039;,&amp;#039;Arrecife&amp;#039;,&amp;#039;Puerto del Rosario&amp;#039;)),
        &amp;#039;aragon&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Aragón&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Zaragoza&amp;#039;,&amp;#039;Huesca&amp;#039;,&amp;#039;Teruel&amp;#039;)),
        &amp;#039;murcia&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Murcia&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Murcia&amp;#039;,&amp;#039;Cartagena&amp;#039;,&amp;#039;Lorca&amp;#039;,&amp;#039;Molina de Segura&amp;#039;)),
        &amp;#039;baleares&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Baleares&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Palma&amp;#039;,&amp;#039;Ibiza&amp;#039;,&amp;#039;Manacor&amp;#039;,&amp;#039;Calvia&amp;#039;)),
        &amp;#039;extremadura&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Extremadura&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Badajoz&amp;#039;,&amp;#039;Caceres&amp;#039;,&amp;#039;Merida&amp;#039;,&amp;#039;Plasencia&amp;#039;)),
        &amp;#039;asturias&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Asturias&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Oviedo&amp;#039;,&amp;#039;Gijon&amp;#039;,&amp;#039;Aviles&amp;#039;)),
        &amp;#039;navarra&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Navarra&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Pamplona&amp;#039;,&amp;#039;Tudela&amp;#039;,&amp;#039;Baranain&amp;#039;)),
        &amp;#039;la-rioja&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;La Rioja&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Logrono&amp;#039;,&amp;#039;Calahorra&amp;#039;)),
        &amp;#039;cantabria&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Cantabria&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Santander&amp;#039;,&amp;#039;Torrelavega&amp;#039;)),
        &amp;#039;ceuta-melilla&amp;#039; =&amp;gt; array(&amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Ceuta/Melilla&amp;#039;, &amp;#039;ciudades&amp;#039; =&amp;gt; array(&amp;#039;Ceuta&amp;#039;,&amp;#039;Melilla&amp;#039;)),
    );
    $args = array(
        &amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_anuncio&amp;#039;,
        &amp;#039;post_status&amp;#039; =&amp;gt; &amp;#039;publish&amp;#039;,
        &amp;#039;posts_per_page&amp;#039; =&amp;gt; 20,
        &amp;#039;paged&amp;#039; =&amp;gt; $paged,
        &amp;#039;meta_query&amp;#039; =&amp;gt; array(&amp;#039;relation&amp;#039; =&amp;gt; &amp;#039;AND&amp;#039;),
        &amp;#039;orderby&amp;#039; =&amp;gt; &amp;#039;date&amp;#039;,
        &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;DESC&amp;#039;,
    );
    if ($ciudad) $args[&amp;#039;meta_query&amp;#039;][] = array(&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;_dx_ciudad&amp;#039;, &amp;#039;value&amp;#039; =&amp;gt; $ciudad, &amp;#039;compare&amp;#039; =&amp;gt; &amp;#039;LIKE&amp;#039;);
    if ($comunidad &amp;amp;&amp;amp; isset($comunidades[$comunidad])) {
        $args[&amp;#039;meta_query&amp;#039;][] = array(&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;_dx_comunidad&amp;#039;, &amp;#039;value&amp;#039; =&amp;gt; $comunidad, &amp;#039;compare&amp;#039; =&amp;gt; &amp;#039;=&amp;#039;);
    }
    $query = new WP_Query($args);
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:1100px;margin:0 auto;padding:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h1 style=&amp;quot;color:#ede9fe;font-size:1.5rem;margin:0&amp;quot;&amp;gt;Anuncios en España&amp;lt;/h1&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;a href=&amp;quot;/publicar-anuncio/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff;padding:10px 20px;border-radius:10px;text-decoration:none;font-weight:700;font-size:.85rem&amp;quot;&amp;gt;+ Publicar Anuncio&amp;lt;/a&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;margin-bottom:24px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin:0 0 12px;text-transform:uppercase;letter-spacing:1px&amp;quot;&amp;gt;Comunidad Autonoma&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-wrap:wrap;gap:8px&amp;quot;&amp;gt;&amp;#039;;
    $all_style = $comunidad ? &amp;#039;background:rgba(255,255,255,.07);color:rgba(237,233,254,.7)&amp;#039; : &amp;#039;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff&amp;#039;;
    echo &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/&amp;quot; style=&amp;quot;padding:6px 14px;border-radius:20px;font-size:.8rem;text-decoration:none;&amp;#039; . $all_style . &amp;#039;&amp;quot;&amp;gt;Toda España&amp;lt;/a&amp;gt;&amp;#039;;
    foreach ($comunidades as $ca_key =&amp;gt; $ca_data) {
        $act = ($comunidad === $ca_key);
        $ca_style = $act ? &amp;#039;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff&amp;#039; : &amp;#039;background:rgba(255,255,255,.07);color:rgba(237,233,254,.7)&amp;#039;;
        echo &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/?ca=&amp;#039; . esc_attr($ca_key) . &amp;#039;&amp;quot; style=&amp;quot;padding:6px 14px;border-radius:20px;font-size:.8rem;text-decoration:none;&amp;#039; . $ca_style . &amp;#039;&amp;quot;&amp;gt;&amp;#039; . esc_html($ca_data[&amp;#039;label&amp;#039;]) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    if ($comunidad &amp;amp;&amp;amp; isset($comunidades[$comunidad])) {
        echo &amp;#039;&amp;lt;div style=&amp;quot;background:#1a1730;border-radius:12px;padding:16px;margin-bottom:20px&amp;quot;&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5);font-size:.75rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:1px&amp;quot;&amp;gt;Ciudad&amp;lt;/p&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-wrap:wrap;gap:6px&amp;quot;&amp;gt;&amp;#039;;
        $ca_label = $comunidades[$comunidad][&amp;#039;label&amp;#039;];
        $all_city_style = $ciudad ? &amp;#039;background:rgba(255,255,255,.05);color:rgba(237,233,254,.6)&amp;#039; : &amp;#039;background:rgba(224,25,107,.2);color:#e0196b&amp;#039;;
        echo &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/?ca=&amp;#039; . esc_attr($comunidad) . &amp;#039;&amp;quot; style=&amp;quot;padding:4px 12px;border-radius:16px;font-size:.75rem;text-decoration:none;&amp;#039; . $all_city_style . &amp;#039;&amp;quot;&amp;gt;Toda &amp;#039; . esc_html($ca_label) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
        foreach ($comunidades[$comunidad][&amp;#039;ciudades&amp;#039;] as $c) {
            $c_act = ($ciudad === $c);
            $c_style = $c_act ? &amp;#039;background:rgba(224,25,107,.2);color:#e0196b&amp;#039; : &amp;#039;background:rgba(255,255,255,.05);color:rgba(237,233,254,.6)&amp;#039;;
            echo &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/?ca=&amp;#039; . esc_attr($comunidad) . &amp;#039;&amp;amp;ciudad=&amp;#039; . urlencode($c) . &amp;#039;&amp;quot; style=&amp;quot;padding:4px 12px;border-radius:16px;font-size:.75rem;text-decoration:none;&amp;#039; . $c_style . &amp;#039;&amp;quot;&amp;gt;&amp;#039; . esc_html($c) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    if ($query-&amp;gt;have_posts()) {
        $uid = get_current_user_id();
        $can_contact = dx_can_contact($uid);
        echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-direction:column;gap:12px&amp;quot;&amp;gt;&amp;#039;;
        while ($query-&amp;gt;have_posts()) {
            $query-&amp;gt;the_post();
            $pid = get_the_ID();
            $author_id = get_post_field(&amp;#039;post_author&amp;#039;, $pid);
            $author_name = get_the_author_meta(&amp;#039;display_name&amp;#039;, $author_id);
            $author_gold = dx_is_gold($author_id);
            $thumb = get_the_post_thumbnail_url($pid, &amp;#039;thumbnail&amp;#039;) ?: &amp;#039;&amp;#039;;
            $ciudad_ad = get_post_meta($pid, &amp;#039;_dx_ciudad&amp;#039;, true);
            $edad = get_post_meta($pid, &amp;#039;_dx_edad&amp;#039;, true);
            $genero_ad = get_post_meta($pid, &amp;#039;_dx_genero&amp;#039;, true);
            $badge = $author_gold ? &amp;#039;&amp;lt;span style=&amp;quot;background:#f0b429;color:#000;font-size:.65rem;padding:2px 6px;border-radius:4px;font-weight:700;margin-left:6px&amp;quot;&amp;gt;GOLD&amp;lt;/span&amp;gt;&amp;#039; : &amp;#039;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:12px;padding:16px;display:flex;gap:16px;align-items:flex-start&amp;quot;&amp;gt;&amp;#039;;
            if ($thumb) echo &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039; . esc_url($thumb) . &amp;#039;&amp;quot; style=&amp;quot;width:80px;height:80px;border-radius:8px;object-fit:cover;flex-shrink:0&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;flex:1;min-width:0&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;align-items:center;gap:8px;margin-bottom:4px&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039; . get_permalink() . &amp;#039;&amp;quot; style=&amp;quot;color:#ede9fe;font-weight:700;text-decoration:none;font-size:1rem&amp;quot;&amp;gt;&amp;#039; . esc_html(get_the_title()) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
            echo $badge;
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin-bottom:8px&amp;quot;&amp;gt;&amp;#039;;
            if ($autor_nombre ?? false) echo esc_html($author_name) . &amp;#039; · &amp;#039;;
            if ($edad) echo $edad . &amp;#039; años · &amp;#039;;
            if ($genero_ad) echo esc_html($genero_ad) . &amp;#039; · &amp;#039;;
            if ($ciudad_ad) echo &amp;#039;📍 &amp;#039; . esc_html($ciudad_ad);
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
            $excerpt = wp_trim_words(get_the_excerpt() ?: get_the_content(), 20, &amp;#039;...&amp;#039;);
            echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.6);font-size:.85rem;margin:0 0 10px&amp;quot;&amp;gt;&amp;#039; . esc_html($excerpt) . &amp;#039;&amp;lt;/p&amp;gt;&amp;#039;;
            if ($can_contact) {
                $whatsapp = get_post_meta($pid, &amp;#039;_dx_whatsapp&amp;#039;, true);
                $telefono = get_post_meta($pid, &amp;#039;_dx_telefono&amp;#039;, true);
                if ($whatsapp) echo &amp;#039;&amp;lt;a href=&amp;quot;https://wa.me/&amp;#039; . preg_replace(&amp;#039;/[^0-9]/&amp;#039;, &amp;#039;&amp;#039;, $whatsapp) . &amp;#039;&amp;quot; style=&amp;quot;background:#25d366;color:#fff;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600;margin-right:8px&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;WhatsApp&amp;lt;/a&amp;gt;&amp;#039;;
                if ($telefono) echo &amp;#039;&amp;lt;a href=&amp;quot;tel:&amp;#039; . esc_attr($telefono) . &amp;#039;&amp;quot; style=&amp;quot;background:#3b82f6;color:#fff;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Llamar&amp;lt;/a&amp;gt;&amp;#039;;
            } else {
                echo &amp;#039;&amp;lt;a href=&amp;quot;/membership-join/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600&amp;quot;&amp;gt;👑 Hazte Gold para contactar&amp;lt;/a&amp;gt;&amp;#039;;
            }
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
        wp_reset_postdata();
    } else {
        echo &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:60px 20px;color:rgba(237,233,254,.4)&amp;quot;&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;div style=&amp;quot;font-size:3rem;margin-bottom:16px&amp;quot;&amp;gt;🔍&amp;lt;/div&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;p&amp;gt;No hay anuncios en esta zona todavia.&amp;lt;/p&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;a href=&amp;quot;/publicar-anuncio/&amp;quot; style=&amp;quot;background:var(--accent);color:#fff;padding:10px 20px;border-radius:10px;text-decoration:none;font-weight:700;display:inline-block;margin-top:16px&amp;quot;&amp;gt;Publica el Primero&amp;lt;/a&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

add_shortcode(&amp;#039;deseosx_publicar_anuncio&amp;#039;, function($atts) {
    $uid = get_current_user_id();
    if (isset($_POST[&amp;#039;dx_pub_anuncio&amp;#039;])) {
        $titulo = sanitize_text_field($_POST[&amp;#039;titulo&amp;#039;] ?? &amp;#039;&amp;#039;);
        $desc = sanitize_textarea_field($_POST[&amp;#039;descripcion&amp;#039;] ?? &amp;#039;&amp;#039;);
        $ciudad_p = sanitize_text_field($_POST[&amp;#039;ciudad&amp;#039;] ?? &amp;#039;&amp;#039;);
        $comunidad_p = sanitize_text_field($_POST[&amp;#039;comunidad&amp;#039;] ?? &amp;#039;&amp;#039;);
        $edad_p = intval($_POST[&amp;#039;edad&amp;#039;] ?? 0);
        $genero_p = sanitize_text_field($_POST[&amp;#039;genero&amp;#039;] ?? &amp;#039;&amp;#039;);
        $busca_p = sanitize_text_field($_POST[&amp;#039;busca&amp;#039;] ?? &amp;#039;&amp;#039;);
        $whatsapp_p = sanitize_text_field($_POST[&amp;#039;whatsapp&amp;#039;] ?? &amp;#039;&amp;#039;);
        $telefono_p = sanitize_text_field($_POST[&amp;#039;telefono&amp;#039;] ?? &amp;#039;&amp;#039;);
        if ($titulo &amp;amp;&amp;amp; $desc) {
            $post_id = wp_insert_post(array(
                &amp;#039;post_title&amp;#039; =&amp;gt; $titulo,
                &amp;#039;post_content&amp;#039; =&amp;gt; $desc,
                &amp;#039;post_status&amp;#039; =&amp;gt; &amp;#039;publish&amp;#039;,
                &amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_anuncio&amp;#039;,
                &amp;#039;post_author&amp;#039; =&amp;gt; $uid,
            ));
            if ($post_id &amp;amp;&amp;amp; !is_wp_error($post_id)) {
                update_post_meta($post_id, &amp;#039;_dx_ciudad&amp;#039;, $ciudad_p);
                update_post_meta($post_id, &amp;#039;_dx_comunidad&amp;#039;, $comunidad_p);
                update_post_meta($post_id, &amp;#039;_dx_edad&amp;#039;, $edad_p);
                update_post_meta($post_id, &amp;#039;_dx_genero&amp;#039;, $genero_p);
                update_post_meta($post_id, &amp;#039;_dx_busca&amp;#039;, $busca_p);
                update_post_meta($post_id, &amp;#039;_dx_whatsapp&amp;#039;, $whatsapp_p);
                update_post_meta($post_id, &amp;#039;_dx_telefono&amp;#039;, $telefono_p);
                return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:#4ade80&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;✅ Anuncio publicado con exito!&amp;lt;/h2&amp;gt;&amp;lt;a href=&amp;quot;/anuncios/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;Ver anuncios&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
            }
        }
    }
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:700px;margin:0 auto;padding:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h2 style=&amp;quot;color:#ede9fe;margin-bottom:24px&amp;quot;&amp;gt;Publicar Anuncio&amp;lt;/h2&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;form method=&amp;quot;post&amp;quot; style=&amp;quot;display:flex;flex-direction:column;gap:16px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;dx_pub_anuncio&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&amp;#039;;
    $fields = array(
        array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;titulo&amp;#039;, &amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Titulo del anuncio&amp;#039;, &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;text&amp;#039;, &amp;#039;placeholder&amp;#039; =&amp;gt; &amp;#039;Ej: Busco pareja para salidas...&amp;#039;, &amp;#039;required&amp;#039; =&amp;gt; true),
        array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;edad&amp;#039;, &amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Tu edad&amp;#039;, &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;number&amp;#039;, &amp;#039;placeholder&amp;#039; =&amp;gt; &amp;#039;25&amp;#039;, &amp;#039;required&amp;#039; =&amp;gt; true),
        array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;ciudad&amp;#039;, &amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Ciudad&amp;#039;, &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;text&amp;#039;, &amp;#039;placeholder&amp;#039; =&amp;gt; &amp;#039;Ej: Madrid&amp;#039;, &amp;#039;required&amp;#039; =&amp;gt; true),
        array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;whatsapp&amp;#039;, &amp;#039;label&amp;#039; =&amp;gt; &amp;#039;WhatsApp (solo Gold puede ver)&amp;#039;, &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;tel&amp;#039;, &amp;#039;placeholder&amp;#039; =&amp;gt; &amp;#039;+34 600 000 000&amp;#039;, &amp;#039;required&amp;#039; =&amp;gt; false),
        array(&amp;#039;name&amp;#039; =&amp;gt; &amp;#039;telefono&amp;#039;, &amp;#039;label&amp;#039; =&amp;gt; &amp;#039;Telefono (solo Gold puede ver)&amp;#039;, &amp;#039;type&amp;#039; =&amp;gt; &amp;#039;tel&amp;#039;, &amp;#039;placeholder&amp;#039; =&amp;gt; &amp;#039;+34 600 000 000&amp;#039;, &amp;#039;required&amp;#039; =&amp;gt; false),
    );
    foreach ($fields as $f) {
        $req = $f[&amp;#039;required&amp;#039;] ? &amp;#039; required&amp;#039; : &amp;#039;&amp;#039;;
        echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;&amp;#039; . esc_html($f[&amp;#039;label&amp;#039;]) . &amp;#039;&amp;lt;/label&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;input type=&amp;quot;&amp;#039; . esc_attr($f[&amp;#039;type&amp;#039;]) . &amp;#039;&amp;quot; name=&amp;quot;&amp;#039; . esc_attr($f[&amp;#039;name&amp;#039;]) . &amp;#039;&amp;quot; placeholder=&amp;quot;&amp;#039; . esc_attr($f[&amp;#039;placeholder&amp;#039;]) . &amp;#039;&amp;quot; style=&amp;quot;width:100%;padding:10px 14px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);font-size:.9rem;box-sizing:border-box&amp;quot;&amp;#039; . $req . &amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Genero&amp;lt;/label&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;select name=&amp;quot;genero&amp;quot; style=&amp;quot;width:100%;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1)&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;option value=&amp;quot;hombre&amp;quot;&amp;gt;Hombre&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;mujer&amp;quot;&amp;gt;Mujer&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;pareja&amp;quot;&amp;gt;Pareja&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;trans&amp;quot;&amp;gt;Trans&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Busco&amp;lt;/label&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;select name=&amp;quot;busca&amp;quot; style=&amp;quot;width:100%;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1)&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;option value=&amp;quot;hombre&amp;quot;&amp;gt;Hombre&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;mujer&amp;quot;&amp;gt;Mujer&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;pareja&amp;quot;&amp;gt;Pareja&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;cualquiera&amp;quot;&amp;gt;Cualquiera&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Descripcion&amp;lt;/label&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;textarea name=&amp;quot;descripcion&amp;quot; rows=&amp;quot;5&amp;quot; placeholder=&amp;quot;Cuéntate a ti mismo...&amp;quot; style=&amp;quot;width:100%;padding:10px 14px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);font-size:.9rem;resize:vertical;box-sizing:border-box&amp;quot; required&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;button type=&amp;quot;submit&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff;padding:14px 28px;border-radius:10px;font-weight:700;font-size:1rem;border:none;cursor:pointer&amp;quot;&amp;gt;Publicar Anuncio&amp;lt;/button&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/form&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

add_shortcode(&amp;#039;deseosx_fetiches&amp;#039;, function($atts) {
    $comunidad = sanitize_text_field($_GET[&amp;#039;ca&amp;#039;] ?? &amp;#039;&amp;#039;);
    $args = array(
        &amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_fetiche&amp;#039;,
        &amp;#039;post_status&amp;#039; =&amp;gt; &amp;#039;publish&amp;#039;,
        &amp;#039;posts_per_page&amp;#039; =&amp;gt; 24,
        &amp;#039;orderby&amp;#039; =&amp;gt; &amp;#039;date&amp;#039;,
        &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;DESC&amp;#039;,
    );
    if ($comunidad) {
        $args[&amp;#039;meta_query&amp;#039;] = array(array(&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;_dx_comunidad&amp;#039;, &amp;#039;value&amp;#039; =&amp;gt; $comunidad, &amp;#039;compare&amp;#039; =&amp;gt; &amp;#039;=&amp;#039;));
    }
    $query = new WP_Query($args);
    $uid = get_current_user_id();
    $can_contact = dx_can_contact($uid);
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:1100px;margin:0 auto;padding:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h1 style=&amp;quot;color:#ede9fe;font-size:1.5rem;margin:0&amp;quot;&amp;gt;Fetiches y Encuentros&amp;lt;/h1&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;a href=&amp;quot;/publicar-fetiche/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;padding:10px 20px;border-radius:10px;text-decoration:none;font-weight:700;font-size:.85rem&amp;quot;&amp;gt;+ Publicar Fetiche&amp;lt;/a&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    $comunidades_f = array(&amp;#039;Andalucia&amp;#039;,&amp;#039;Madrid&amp;#039;,&amp;#039;Cataluna&amp;#039;,&amp;#039;C.Valenciana&amp;#039;,&amp;#039;Euskadi&amp;#039;,&amp;#039;Galicia&amp;#039;,&amp;#039;Castilla-Leon&amp;#039;,&amp;#039;Murcia&amp;#039;,&amp;#039;Aragon&amp;#039;,&amp;#039;Canarias&amp;#039;,&amp;#039;Baleares&amp;#039;,&amp;#039;Extremadura&amp;#039;,&amp;#039;Asturias&amp;#039;,&amp;#039;Navarra&amp;#039;,&amp;#039;Cantabria&amp;#039;,&amp;#039;La Rioja&amp;#039;,&amp;#039;Ceuta&amp;#039;,&amp;#039;Melilla&amp;#039;);
    echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;margin-bottom:24px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin:0 0 12px;text-transform:uppercase;letter-spacing:1px&amp;quot;&amp;gt;Filtrar por Comunidad&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-wrap:wrap;gap:8px&amp;quot;&amp;gt;&amp;#039;;
    $all_s = $comunidad ? &amp;#039;background:rgba(255,255,255,.07);color:rgba(237,233,254,.7)&amp;#039; : &amp;#039;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff&amp;#039;;
    echo &amp;#039;&amp;lt;a href=&amp;quot;/fetiches/&amp;quot; style=&amp;quot;padding:6px 14px;border-radius:20px;font-size:.8rem;text-decoration:none;&amp;#039; . $all_s . &amp;#039;&amp;quot;&amp;gt;Toda España&amp;lt;/a&amp;gt;&amp;#039;;
    foreach ($comunidades_f as $cf) {
        $cf_slug = sanitize_title($cf);
        $cf_act = ($comunidad === $cf_slug);
        $cf_s = $cf_act ? &amp;#039;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff&amp;#039; : &amp;#039;background:rgba(255,255,255,.07);color:rgba(237,233,254,.7)&amp;#039;;
        echo &amp;#039;&amp;lt;a href=&amp;quot;/fetiches/?ca=&amp;#039; . esc_attr($cf_slug) . &amp;#039;&amp;quot; style=&amp;quot;padding:6px 14px;border-radius:20px;font-size:.8rem;text-decoration:none;&amp;#039; . $cf_s . &amp;#039;&amp;quot;&amp;gt;&amp;#039; . esc_html($cf) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    if ($query-&amp;gt;have_posts()) {
        echo &amp;#039;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px&amp;quot;&amp;gt;&amp;#039;;
        while ($query-&amp;gt;have_posts()) {
            $query-&amp;gt;the_post();
            $fid = get_the_ID();
            $fauthor = get_post_field(&amp;#039;post_author&amp;#039;, $fid);
            $fauthor_name = get_the_author_meta(&amp;#039;display_name&amp;#039;, $fauthor);
            $fgold = dx_is_gold($fauthor);
            $fthumb = get_the_post_thumbnail_url($fid, &amp;#039;medium&amp;#039;) ?: &amp;#039;&amp;#039;;
            $favatar = get_avatar_url($fauthor, array(&amp;#039;size&amp;#039; =&amp;gt; 48));
            $fciudad = get_post_meta($fid, &amp;#039;_dx_ciudad&amp;#039;, true);
            $fedad = get_post_meta($fid, &amp;#039;_dx_edad&amp;#039;, true);
            $fgenero = get_post_meta($fid, &amp;#039;_dx_genero&amp;#039;, true);
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;overflow:hidden;border:1px solid rgba(124,58,237,.2);transition:border-color .2s&amp;quot;&amp;gt;&amp;#039;;
            if ($fthumb) echo &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039; . esc_url($fthumb) . &amp;#039;&amp;quot; style=&amp;quot;width:100%;height:200px;object-fit:cover&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;padding:16px&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;align-items:center;gap:10px;margin-bottom:12px&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039; . esc_url($favatar) . &amp;#039;&amp;quot; style=&amp;quot;width:36px;height:36px;border-radius:50%;border:2px solid &amp;#039; . ($fgold ? &amp;#039;#f0b429&amp;#039; : &amp;#039;rgba(124,58,237,.4)&amp;#039;) . &amp;#039;&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;color:#ede9fe;font-size:.85rem;font-weight:600&amp;quot;&amp;gt;&amp;#039; . esc_html($fauthor_name) . ($fgold ? &amp;#039; &amp;lt;span style=&amp;quot;background:#f0b429;color:#000;font-size:.6rem;padding:1px 5px;border-radius:4px;font-weight:700&amp;quot;&amp;gt;GOLD&amp;lt;/span&amp;gt;&amp;#039; : &amp;#039;&amp;#039;) . &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.4);font-size:.75rem&amp;quot;&amp;gt;&amp;#039;;
            if ($fedad) echo $fedad . &amp;#039; años&amp;#039;;
            if ($fciudad) echo &amp;#039; · 📍&amp;#039; . esc_html($fciudad);
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039; . get_permalink() . &amp;#039;&amp;quot; style=&amp;quot;color:#ede9fe;font-weight:700;text-decoration:none;font-size:.95rem;display:block;margin-bottom:8px&amp;quot;&amp;gt;&amp;#039; . esc_html(get_the_title()) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
            $fexc = wp_trim_words(get_the_excerpt() ?: get_the_content(), 15, &amp;#039;...&amp;#039;);
            echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin:0 0 12px&amp;quot;&amp;gt;&amp;#039; . esc_html($fexc) . &amp;#039;&amp;lt;/p&amp;gt;&amp;#039;;
            if ($can_contact) {
                $fwp = get_post_meta($fid, &amp;#039;_dx_whatsapp&amp;#039;, true);
                if ($fwp) echo &amp;#039;&amp;lt;a href=&amp;quot;https://wa.me/&amp;#039; . preg_replace(&amp;#039;/[^0-9]/&amp;#039;, &amp;#039;&amp;#039;, $fwp) . &amp;#039;&amp;quot; style=&amp;quot;background:#25d366;color:#fff;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;WhatsApp&amp;lt;/a&amp;gt;&amp;#039;;
                else echo &amp;#039;&amp;lt;a href=&amp;quot;/mensajes/?user=&amp;#039; . $fauthor . &amp;#039;&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600&amp;quot;&amp;gt;Contactar&amp;lt;/a&amp;gt;&amp;#039;;
            } else {
                echo &amp;#039;&amp;lt;a href=&amp;quot;/membership-join/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600&amp;quot;&amp;gt;👑 Gold para contactar&amp;lt;/a&amp;gt;&amp;#039;;
            }
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
        wp_reset_postdata();
    } else {
        echo &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:60px 20px;color:rgba(237,233,254,.4)&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-size:3rem&amp;quot;&amp;gt;🔥&amp;lt;/div&amp;gt;&amp;lt;p&amp;gt;Sin fetiches todavia en esta zona.&amp;lt;/p&amp;gt;&amp;lt;a href=&amp;quot;/publicar-fetiche/&amp;quot; style=&amp;quot;background:var(--accent);color:#fff;padding:10px 20px;border-radius:10px;text-decoration:none;font-weight:700;display:inline-block;margin-top:16px&amp;quot;&amp;gt;Publica el Primero&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

add_shortcode(&amp;#039;deseosx_buscar&amp;#039;, function($atts) {
    $genero_f = sanitize_text_field($_GET[&amp;#039;de&amp;#039;] ?? &amp;#039;&amp;#039;);
    $busca_f = sanitize_text_field($_GET[&amp;#039;busca&amp;#039;] ?? &amp;#039;&amp;#039;);
    $ciudad_f = sanitize_text_field($_GET[&amp;#039;ciudad&amp;#039;] ?? &amp;#039;&amp;#039;);
    $paged = max(1, intval($_GET[&amp;#039;pagina&amp;#039;] ?? 1));
    $args = array(&amp;#039;role&amp;#039; =&amp;gt; &amp;#039;subscriber&amp;#039;, &amp;#039;number&amp;#039; =&amp;gt; 24, &amp;#039;offset&amp;#039; =&amp;gt; ($paged-1)*24, &amp;#039;orderby&amp;#039; =&amp;gt; &amp;#039;registered&amp;#039;, &amp;#039;order&amp;#039; =&amp;gt; &amp;#039;DESC&amp;#039;);
    $meta_q = array(&amp;#039;relation&amp;#039; =&amp;gt; &amp;#039;AND&amp;#039;);
    if ($genero_f) $meta_q[] = array(&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;_dx_genero&amp;#039;, &amp;#039;value&amp;#039; =&amp;gt; $genero_f, &amp;#039;compare&amp;#039; =&amp;gt; &amp;#039;=&amp;#039;);
    if ($busca_f) $meta_q[] = array(&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;_dx_busca&amp;#039;, &amp;#039;value&amp;#039; =&amp;gt; $busca_f, &amp;#039;compare&amp;#039; =&amp;gt; &amp;#039;=&amp;#039;);
    if ($ciudad_f) $meta_q[] = array(&amp;#039;key&amp;#039; =&amp;gt; &amp;#039;_dx_ciudad&amp;#039;, &amp;#039;value&amp;#039; =&amp;gt; $ciudad_f, &amp;#039;compare&amp;#039; =&amp;gt; &amp;#039;LIKE&amp;#039;);
    if (count($meta_q) &amp;gt; 1) $args[&amp;#039;meta_query&amp;#039;] = $meta_q;
    $users = get_users($args);
    $uid = get_current_user_id();
    $can_contact = dx_can_contact($uid);
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:1100px;margin:0 auto;padding:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h1 style=&amp;quot;color:#ede9fe;font-size:1.5rem;margin-bottom:20px&amp;quot;&amp;gt;Buscar Contactos&amp;lt;/h1&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;form method=&amp;quot;get&amp;quot; style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;margin-bottom:24px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.6);font-size:.8rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Soy&amp;lt;/label&amp;gt;&amp;lt;select name=&amp;quot;de&amp;quot; style=&amp;quot;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1)&amp;quot;&amp;gt;&amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Todos&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;hombre&amp;quot; &amp;#039; . selected($genero_f, &amp;#039;hombre&amp;#039;, false) . &amp;#039;&amp;gt;Hombre&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;mujer&amp;quot; &amp;#039; . selected($genero_f, &amp;#039;mujer&amp;#039;, false) . &amp;#039;&amp;gt;Mujer&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;pareja&amp;quot; &amp;#039; . selected($genero_f, &amp;#039;pareja&amp;#039;, false) . &amp;#039;&amp;gt;Pareja&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.6);font-size:.8rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Busco&amp;lt;/label&amp;gt;&amp;lt;select name=&amp;quot;busca&amp;quot; style=&amp;quot;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1)&amp;quot;&amp;gt;&amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;Cualquiera&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;hombre&amp;quot; &amp;#039; . selected($busca_f, &amp;#039;hombre&amp;#039;, false) . &amp;#039;&amp;gt;Hombre&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;mujer&amp;quot; &amp;#039; . selected($busca_f, &amp;#039;mujer&amp;#039;, false) . &amp;#039;&amp;gt;Mujer&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;pareja&amp;quot; &amp;#039; . selected($busca_f, &amp;#039;pareja&amp;#039;, false) . &amp;#039;&amp;gt;Pareja&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.6);font-size:.8rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Ciudad&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;ciudad&amp;quot; value=&amp;quot;&amp;#039; . esc_attr($ciudad_f) . &amp;#039;&amp;quot; placeholder=&amp;quot;Ej: Madrid&amp;quot; style=&amp;quot;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);width:160px&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;button type=&amp;quot;submit&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff;padding:10px 20px;border-radius:8px;font-weight:700;font-size:.9rem;border:none;cursor:pointer&amp;quot;&amp;gt;Buscar&amp;lt;/button&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/form&amp;gt;&amp;#039;;
    if (!empty($users)) {
        echo &amp;#039;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px&amp;quot;&amp;gt;&amp;#039;;
        foreach ($users as $u) {
            $u_id = $u-&amp;gt;ID;
            $u_gold = dx_is_gold($u_id);
            $u_avatar = get_avatar_url($u_id, array(&amp;#039;size&amp;#039; =&amp;gt; 120));
            $u_ciudad = get_user_meta($u_id, &amp;#039;_dx_ciudad&amp;#039;, true);
            $u_edad = get_user_meta($u_id, &amp;#039;_dx_edad&amp;#039;, true);
            $u_genero = get_user_meta($u_id, &amp;#039;_dx_genero&amp;#039;, true);
            $u_desc = get_user_meta($u_id, &amp;#039;description&amp;#039;, true);
            $border_c = $u_gold ? &amp;#039;#f0b429&amp;#039; : &amp;#039;rgba(237,233,254,.1)&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;text-align:center;border:1px solid &amp;#039; . $border_c . &amp;#039;&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039; . esc_url($u_avatar) . &amp;#039;&amp;quot; style=&amp;quot;width:80px;height:80px;border-radius:50%;margin-bottom:12px;border:3px solid &amp;#039; . $border_c . &amp;#039;&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;color:#ede9fe;font-weight:700;font-size:.9rem&amp;quot;&amp;gt;&amp;#039; . esc_html($u-&amp;gt;display_name) . &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
            if ($u_gold) echo &amp;#039;&amp;lt;span style=&amp;quot;background:#f0b429;color:#000;font-size:.65rem;padding:2px 7px;border-radius:4px;font-weight:700&amp;quot;&amp;gt;GOLD&amp;lt;/span&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.4);font-size:.75rem;margin:6px 0&amp;quot;&amp;gt;&amp;#039;;
            if ($u_edad) echo $u_edad . &amp;#039; años&amp;#039;;
            if ($u_ciudad) echo &amp;#039; · 📍&amp;#039; . esc_html($u_ciudad);
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
            if ($u_desc) echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5);font-size:.75rem;margin:8px 0&amp;quot;&amp;gt;&amp;#039; . esc_html(wp_trim_words($u_desc, 10)) . &amp;#039;&amp;lt;/p&amp;gt;&amp;#039;;
            if ($can_contact &amp;amp;&amp;amp; $u_id !== $uid) {
                echo &amp;#039;&amp;lt;a href=&amp;quot;/mensajes/?user=&amp;#039; . $u_id . &amp;#039;&amp;quot; style=&amp;quot;display:block;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff;padding:8px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600;margin-top:12px&amp;quot;&amp;gt;Contactar&amp;lt;/a&amp;gt;&amp;#039;;
            } else if ($u_id !== $uid) {
                echo &amp;#039;&amp;lt;a href=&amp;quot;/membership-join/&amp;quot; style=&amp;quot;display:block;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:8px;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600;margin-top:12px&amp;quot;&amp;gt;👑 Gold para contactar&amp;lt;/a&amp;gt;&amp;#039;;
            }
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    } else {
        echo &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:60px 20px;color:rgba(237,233,254,.4)&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-size:3rem&amp;quot;&amp;gt;😔&amp;lt;/div&amp;gt;&amp;lt;p&amp;gt;No hay usuarios con esos criterios.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

add_shortcode(&amp;#039;deseosx_mi_panel&amp;#039;, function($atts) {
    if (!is_user_logged_in()) {
        return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:#ede9fe&amp;quot;&amp;gt;&amp;lt;p&amp;gt;Debes &amp;lt;a href=&amp;quot;/login/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;iniciar sesion&amp;lt;/a&amp;gt; para acceder a tu panel.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    $uid = get_current_user_id();
    $user = wp_get_current_user();
    $is_gold = dx_is_gold($uid);
    $is_silver = dx_is_silver($uid);
    $trial_used = get_user_meta($uid, &amp;#039;dx_trial_used&amp;#039;, true);
    $tab = sanitize_text_field($_GET[&amp;#039;tab&amp;#039;] ?? &amp;#039;inicio&amp;#039;);
    $avatar = get_avatar_url($uid, array(&amp;#039;size&amp;#039; =&amp;gt; 80));
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:900px;margin:0 auto;padding:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:24px;margin-bottom:20px;display:flex;align-items:center;gap:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;img src=&amp;quot;&amp;#039; . esc_url($avatar) . &amp;#039;&amp;quot; style=&amp;quot;width:80px;height:80px;border-radius:50%;border:3px solid &amp;#039; . ($is_gold ? &amp;#039;#f0b429&amp;#039; : &amp;#039;rgba(237,233,254,.2)&amp;#039;) . &amp;#039;&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;h2 style=&amp;quot;color:#ede9fe;margin:0 0 4px&amp;quot;&amp;gt;&amp;#039; . esc_html($user-&amp;gt;display_name) . &amp;#039;&amp;lt;/h2&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;#039;;
    if ($is_gold) echo &amp;#039;&amp;lt;span style=&amp;quot;background:#f0b429;color:#000;font-size:.7rem;padding:3px 10px;border-radius:6px;font-weight:700&amp;quot;&amp;gt;⭐ GOLD&amp;lt;/span&amp;gt;&amp;#039;;
    elseif ($is_silver) echo &amp;#039;&amp;lt;span style=&amp;quot;background:#7c3aed;color:#fff;font-size:.7rem;padding:3px 10px;border-radius:6px;font-weight:700&amp;quot;&amp;gt;💎 SILVER&amp;lt;/span&amp;gt;&amp;#039;;
    else echo &amp;#039;&amp;lt;span style=&amp;quot;background:rgba(237,233,254,.1);color:rgba(237,233,254,.5);font-size:.7rem;padding:3px 10px;border-radius:6px&amp;quot;&amp;gt;Cuenta Gratis&amp;lt;/span&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;gap:4px;margin-bottom:20px;background:#110f1e;border-radius:12px;padding:6px&amp;quot;&amp;gt;&amp;#039;;
    $tabs = array(&amp;#039;inicio&amp;#039; =&amp;gt; &amp;#039;🏠 Inicio&amp;#039;, &amp;#039;perfil&amp;#039; =&amp;gt; &amp;#039;✏️ Mi Perfil&amp;#039;, &amp;#039;anuncios&amp;#039; =&amp;gt; &amp;#039;📋 Mis Anuncios&amp;#039;, &amp;#039;membresia&amp;#039; =&amp;gt; &amp;#039;👑 Membresía&amp;#039;);
    foreach ($tabs as $tab_k =&amp;gt; $tab_label) {
        $is_active = ($tab === $tab_k);
        $tab_s = $is_active ? &amp;#039;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff&amp;#039; : &amp;#039;color:rgba(237,233,254,.5)&amp;#039;;
        echo &amp;#039;&amp;lt;a href=&amp;quot;?tab=&amp;#039; . $tab_k . &amp;#039;&amp;quot; style=&amp;quot;flex:1;padding:10px;border-radius:8px;text-decoration:none;text-align:center;font-size:.8rem;font-weight:600;&amp;#039; . $tab_s . &amp;#039;&amp;quot;&amp;gt;&amp;#039; . $tab_label . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    if ($tab === &amp;#039;inicio&amp;#039;) {
        echo &amp;#039;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px&amp;quot;&amp;gt;&amp;#039;;
        $u_anuncios = new WP_Query(array(&amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_anuncio&amp;#039;, &amp;#039;author&amp;#039; =&amp;gt; $uid, &amp;#039;posts_per_page&amp;#039; =&amp;gt; -1));
        echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;text-align:center&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-size:2rem;font-weight:900;color:#e0196b&amp;quot;&amp;gt;&amp;#039; . $u_anuncios-&amp;gt;found_posts . &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.85rem&amp;quot;&amp;gt;Mis Anuncios&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        wp_reset_postdata();
        $u_fetiches = new WP_Query(array(&amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_fetiche&amp;#039;, &amp;#039;author&amp;#039; =&amp;gt; $uid, &amp;#039;posts_per_page&amp;#039; =&amp;gt; -1));
        echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;text-align:center&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-size:2rem;font-weight:900;color:#7c3aed&amp;quot;&amp;gt;&amp;#039; . $u_fetiches-&amp;gt;found_posts . &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.85rem&amp;quot;&amp;gt;Mis Fetiches&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        wp_reset_postdata();
        $member_type = $is_gold ? &amp;#039;Gold&amp;#039; : ($is_silver ? &amp;#039;Silver&amp;#039; : &amp;#039;Gratis&amp;#039;);
        echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:20px;text-align:center&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;font-size:2rem;font-weight:900;color:#f0b429&amp;quot;&amp;gt;&amp;#039;;
        echo esc_html($member_type);
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.85rem&amp;quot;&amp;gt;Mi Plan&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
        if (!$is_gold &amp;amp;&amp;amp; !$trial_used) {
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:linear-gradient(135deg,rgba(224,25,107,.15),rgba(124,58,237,.15));border:1px solid rgba(224,25,107,.3);border-radius:16px;padding:24px;margin-top:20px;text-align:center&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;h3 style=&amp;quot;color:#f0b429;margin:0 0 12px&amp;quot;&amp;gt;🎁 Prueba Gold 5 Dias Gratis&amp;lt;/h3&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.6);font-size:.9rem;margin:0 0 16px&amp;quot;&amp;gt;Prueba todas las funciones Gold sin coste. Solo una vez.&amp;lt;/p&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;a href=&amp;quot;/prueba-gratis/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:12px 28px;border-radius:10px;text-decoration:none;font-weight:700&amp;quot;&amp;gt;Activar Prueba Gratis&amp;lt;/a&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
        }
    }
    if ($tab === &amp;#039;perfil&amp;#039;) {
        if (isset($_POST[&amp;#039;dx_update_perfil&amp;#039;])) {
            $n_ciudad = sanitize_text_field($_POST[&amp;#039;ciudad&amp;#039;] ?? &amp;#039;&amp;#039;);
            $n_edad = intval($_POST[&amp;#039;edad&amp;#039;] ?? 0);
            $n_genero = sanitize_text_field($_POST[&amp;#039;genero&amp;#039;] ?? &amp;#039;&amp;#039;);
            $n_desc = sanitize_textarea_field($_POST[&amp;#039;descripcion&amp;#039;] ?? &amp;#039;&amp;#039;);
            update_user_meta($uid, &amp;#039;_dx_ciudad&amp;#039;, $n_ciudad);
            update_user_meta($uid, &amp;#039;_dx_edad&amp;#039;, $n_edad);
            update_user_meta($uid, &amp;#039;_dx_genero&amp;#039;, $n_genero);
        // Guardar servicios
        $dx_all_servicios = array(&amp;#039;dx_serv_24h&amp;#039;,&amp;#039;dx_serv_masajes&amp;#039;,&amp;#039;dx_serv_fr_natural&amp;#039;,&amp;#039;dx_serv_lesbisco&amp;#039;,&amp;#039;dx_serv_sado_bdsm&amp;#039;,&amp;#039;dx_serv_hoteles&amp;#039;,&amp;#039;dx_serv_beso_boca&amp;#039;,&amp;#039;dx_serv_griego&amp;#039;,&amp;#039;dx_serv_duplex&amp;#039;,&amp;#039;dx_serv_lluvia&amp;#039;,&amp;#039;dx_serv_viajes&amp;#039;,&amp;#039;dx_serv_frances&amp;#039;,&amp;#039;dx_serv_beso_negro&amp;#039;,&amp;#039;dx_serv_parejas&amp;#039;,&amp;#039;dx_serv_fiestera&amp;#039;);
        foreach ($dx_all_servicios as $sv) { update_user_meta($uid, $sv, isset($_POST[$sv]) ? &amp;#039;1&amp;#039; : &amp;#039;0&amp;#039;); }
            wp_update_user(array(&amp;#039;ID&amp;#039; =&amp;gt; $uid, &amp;#039;description&amp;#039; =&amp;gt; $n_desc));
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:rgba(74,222,128,.1);border:1px solid #4ade80;border-radius:8px;padding:12px;margin-bottom:16px;color:#4ade80&amp;quot;&amp;gt;✅ Perfil actualizado&amp;lt;/div&amp;gt;&amp;#039;;
        }
        $cur_ciudad = get_user_meta($uid, &amp;#039;_dx_ciudad&amp;#039;, true);
        $cur_edad = get_user_meta($uid, &amp;#039;_dx_edad&amp;#039;, true);
        $cur_genero = get_user_meta($uid, &amp;#039;_dx_genero&amp;#039;, true);
        $cur_desc = $user-&amp;gt;description;
        echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:24px&amp;quot;&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;h3 style=&amp;quot;color:#ede9fe;margin:0 0 20px&amp;quot;&amp;gt;Editar Perfil&amp;lt;/h3&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;form method=&amp;quot;post&amp;quot; style=&amp;quot;display:flex;flex-direction:column;gap:16px&amp;quot;&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;dx_update_perfil&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Ciudad&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;ciudad&amp;quot; value=&amp;quot;&amp;#039; . esc_attr($cur_ciudad) . &amp;#039;&amp;quot; style=&amp;quot;width:100%;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Edad&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;number&amp;quot; name=&amp;quot;edad&amp;quot; value=&amp;quot;&amp;#039; . esc_attr($cur_edad) . &amp;#039;&amp;quot; style=&amp;quot;width:100%;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Genero&amp;lt;/label&amp;gt;&amp;lt;select name=&amp;quot;genero&amp;quot; style=&amp;quot;width:100%;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1)&amp;quot;&amp;gt;&amp;lt;option value=&amp;quot;hombre&amp;quot; &amp;#039; . selected($cur_genero, &amp;#039;hombre&amp;#039;, false) . &amp;#039;&amp;gt;Hombre&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;mujer&amp;quot; &amp;#039; . selected($cur_genero, &amp;#039;mujer&amp;#039;, false) . &amp;#039;&amp;gt;Mujer&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;pareja&amp;quot; &amp;#039; . selected($cur_genero, &amp;#039;pareja&amp;#039;, false) . &amp;#039;&amp;gt;Pareja&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;trans&amp;quot; &amp;#039; . selected($cur_genero, &amp;#039;trans&amp;#039;, false) . &amp;#039;&amp;gt;Trans&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Sobre mi&amp;lt;/label&amp;gt;&amp;lt;textarea name=&amp;quot;descripcion&amp;quot; rows=&amp;quot;4&amp;quot; style=&amp;quot;width:100%;padding:10px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);resize:vertical;box-sizing:border-box&amp;quot;&amp;gt;&amp;#039; . esc_textarea($cur_desc) . &amp;#039;&amp;lt;/textarea&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        $dx_panel_servicios = array(&amp;#039;dx_serv_24h&amp;#039;=&amp;gt;&amp;#039;24h&amp;#039;,&amp;#039;dx_serv_masajes&amp;#039;=&amp;gt;&amp;#039;Masajes&amp;#039;,&amp;#039;dx_serv_fr_natural&amp;#039;=&amp;gt;&amp;#039;Fr Natural&amp;#039;,&amp;#039;dx_serv_lesbisco&amp;#039;=&amp;gt;&amp;#039;Lesbisco&amp;#039;,&amp;#039;dx_serv_sado_bdsm&amp;#039;=&amp;gt;&amp;#039;Sado BDSM&amp;#039;,&amp;#039;dx_serv_hoteles&amp;#039;=&amp;gt;&amp;#039;Hoteles / Domicilios&amp;#039;,&amp;#039;dx_serv_beso_boca&amp;#039;=&amp;gt;&amp;#039;Beso en la boca&amp;#039;,&amp;#039;dx_serv_griego&amp;#039;=&amp;gt;&amp;#039;Griego&amp;#039;,&amp;#039;dx_serv_duplex&amp;#039;=&amp;gt;&amp;#039;Duplex&amp;#039;,&amp;#039;dx_serv_lluvia&amp;#039;=&amp;gt;&amp;#039;Lluvia dorada&amp;#039;,&amp;#039;dx_serv_viajes&amp;#039;=&amp;gt;&amp;#039;Viajes&amp;#039;,&amp;#039;dx_serv_frances&amp;#039;=&amp;gt;&amp;#039;Frances&amp;#039;,&amp;#039;dx_serv_beso_negro&amp;#039;=&amp;gt;&amp;#039;Beso negro&amp;#039;,&amp;#039;dx_serv_parejas&amp;#039;=&amp;gt;&amp;#039;Parejas&amp;#039;,&amp;#039;dx_serv_fiestera&amp;#039;=&amp;gt;&amp;#039;Fiestera&amp;#039;);
        echo &amp;#039;&amp;lt;div style=&amp;quot;margin:16px 0;&amp;quot;&amp;gt;&amp;lt;h4 style=&amp;quot;color:var(--accent);font-size:.85rem;font-weight:700;text-transform:uppercase;margin-bottom:10px;&amp;quot;&amp;gt;Servicios que realizo&amp;lt;/h4&amp;gt;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;&amp;quot;&amp;gt;&amp;#039;;
        foreach ($dx_panel_servicios as $sv_key =&amp;gt; $sv_label) {
            $sv_checked = get_user_meta($uid, $sv_key, true) === &amp;#039;1&amp;#039; ? &amp;#039;checked&amp;#039; : &amp;#039;&amp;#039;;
            echo &amp;#039;&amp;lt;label style=&amp;quot;display:flex;align-items:center;gap:6px;font-size:.85rem;cursor:pointer;color:var(--text);&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;&amp;#039; . $sv_key . &amp;#039;&amp;quot; value=&amp;quot;1&amp;quot; &amp;#039; . $sv_checked . &amp;#039; style=&amp;quot;accent-color:var(--accent);width:16px;height:16px;&amp;quot;&amp;gt; &amp;#039; . esc_html($sv_label) . &amp;#039;&amp;lt;/label&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;button type=&amp;quot;submit&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#e0196b,#7c3aed);color:#fff;padding:12px;border-radius:10px;font-weight:700;border:none;cursor:pointer&amp;quot;&amp;gt;Guardar Cambios&amp;lt;/button&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    if ($tab === &amp;#039;anuncios&amp;#039;) {
        $mis_anuncios = new WP_Query(array(&amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_anuncio&amp;#039;, &amp;#039;author&amp;#039; =&amp;gt; $uid, &amp;#039;posts_per_page&amp;#039; =&amp;gt; 20));
        echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-direction:column;gap:12px&amp;quot;&amp;gt;&amp;#039;;
        if ($mis_anuncios-&amp;gt;have_posts()) {
            while ($mis_anuncios-&amp;gt;have_posts()) {
                $mis_anuncios-&amp;gt;the_post();
                echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:12px&amp;quot;&amp;gt;&amp;#039;;
                echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039; . get_permalink() . &amp;#039;&amp;quot; style=&amp;quot;color:#ede9fe;font-weight:700;text-decoration:none&amp;quot;&amp;gt;&amp;#039; . esc_html(get_the_title()) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
                echo &amp;#039;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.4);font-size:.75rem;margin-top:4px&amp;quot;&amp;gt;&amp;#039; . get_the_date() . &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
                echo &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039; . admin_url(&amp;#039;post.php?post=&amp;#039; . get_the_ID() . &amp;#039;&amp;amp;action=edit&amp;#039;) . &amp;#039;&amp;quot; style=&amp;quot;background:rgba(255,255,255,.08);color:#ede9fe;padding:6px 14px;border-radius:8px;text-decoration:none;font-size:.8rem&amp;quot;&amp;gt;Editar&amp;lt;/a&amp;gt;&amp;#039;;
                echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
            }
            wp_reset_postdata();
        } else {
            echo &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:rgba(237,233,254,.4)&amp;quot;&amp;gt;&amp;lt;p&amp;gt;No tienes anuncios todavia.&amp;lt;/p&amp;gt;&amp;lt;a href=&amp;quot;/publicar-anuncio/&amp;quot; style=&amp;quot;background:var(--accent);color:#fff;padding:10px 20px;border-radius:10px;text-decoration:none;font-weight:700;display:inline-block&amp;quot;&amp;gt;Publicar Anuncio&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    if ($tab === &amp;#039;membresia&amp;#039;) {
        echo &amp;#039;&amp;lt;div style=&amp;quot;background:#110f1e;border-radius:16px;padding:24px&amp;quot;&amp;gt;&amp;#039;;
        echo &amp;#039;&amp;lt;h3 style=&amp;quot;color:#ede9fe;margin:0 0 20px&amp;quot;&amp;gt;Mi Membresía&amp;lt;/h3&amp;gt;&amp;#039;;
        if ($is_gold) {
            echo &amp;#039;&amp;lt;p style=&amp;quot;color:#4ade80&amp;quot;&amp;gt;✅ Tienes membresía Gold activa.&amp;lt;/p&amp;gt;&amp;#039;;
        } elseif ($is_silver) {
            echo &amp;#039;&amp;lt;p style=&amp;quot;color:#a78bfa&amp;quot;&amp;gt;✅ Tienes membresía Silver activa.&amp;lt;/p&amp;gt;&amp;#039;;
        } else {
            echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.6)&amp;quot;&amp;gt;No tienes membresía activa.&amp;lt;/p&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px&amp;quot;&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:#1a1730;border-radius:12px;padding:20px;text-align:center;border:2px solid #f0b429&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;color:#f0b429;font-weight:700;margin-bottom:8px&amp;quot;&amp;gt;⭐ GOLD&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-size:2rem;font-weight:900;color:#ede9fe;margin-bottom:4px&amp;quot;&amp;gt;€25&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin-bottom:16px&amp;quot;&amp;gt;/mes&amp;lt;/div&amp;gt;&amp;lt;a href=&amp;quot;/membership-join/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:10px;border-radius:8px;text-decoration:none;font-weight:700;font-size:.85rem;display:block&amp;quot;&amp;gt;Activar Gold&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;div style=&amp;quot;background:#1a1730;border-radius:12px;padding:20px;text-align:center;border:2px solid #7c3aed&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;color:#7c3aed;font-weight:700;margin-bottom:8px&amp;quot;&amp;gt;💎 SILVER&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;font-size:2rem;font-weight:900;color:#ede9fe;margin-bottom:4px&amp;quot;&amp;gt;€15&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin-bottom:16px&amp;quot;&amp;gt;/15 dias&amp;lt;/div&amp;gt;&amp;lt;a href=&amp;quot;/membership-join/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;padding:10px;border-radius:8px;text-decoration:none;font-weight:700;font-size:.85rem;display:block&amp;quot;&amp;gt;Activar Silver&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
            echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
        }
        echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

add_action(&amp;#039;wp_footer&amp;#039;, function() {
    echo &amp;#039;&amp;lt;footer style=&amp;quot;background:#080610;border-top:1px solid rgba(237,233,254,.08);padding:40px 20px;margin-top:60px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:1100px;margin:0 auto&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:32px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;h4 style=&amp;quot;color:#e0196b;margin:0 0 12px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px&amp;quot;&amp;gt;Navegacion&amp;lt;/h4&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-direction:column;gap:6px&amp;quot;&amp;gt;&amp;#039;;
    $nav_links = array(&amp;#039;/anuncios/&amp;#039; =&amp;gt; &amp;#039;Anuncios&amp;#039;, &amp;#039;/fetiches/&amp;#039; =&amp;gt; &amp;#039;Fetiches&amp;#039;, &amp;#039;/buscar-contactos/&amp;#039; =&amp;gt; &amp;#039;Buscar Contactos&amp;#039;, &amp;#039;/planes/&amp;#039; =&amp;gt; &amp;#039;Planes&amp;#039;, &amp;#039;/register/&amp;#039; =&amp;gt; &amp;#039;Registrarse&amp;#039;);
    foreach ($nav_links as $href =&amp;gt; $label) {
        echo &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039; . $href . &amp;#039;&amp;quot; style=&amp;quot;color:rgba(237,233,254,.5);font-size:.85rem;text-decoration:none;hover:color:#ede9fe&amp;quot;&amp;gt;&amp;#039; . $label . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;h4 style=&amp;quot;color:#e0196b;margin:0 0 12px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px&amp;quot;&amp;gt;Legal&amp;lt;/h4&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-direction:column;gap:6px&amp;quot;&amp;gt;&amp;#039;;
    $legal_links = array(&amp;#039;/privacidad/&amp;#039; =&amp;gt; &amp;#039;Política de Privacidad&amp;#039;, &amp;#039;/terminos/&amp;#039; =&amp;gt; &amp;#039;Términos de Uso&amp;#039;, &amp;#039;/cookies/&amp;#039; =&amp;gt; &amp;#039;Política de Cookies&amp;#039;, &amp;#039;/aviso-legal/&amp;#039; =&amp;gt; &amp;#039;Aviso Legal&amp;#039;, &amp;#039;/responsabilidad/&amp;#039; =&amp;gt; &amp;#039;Responsabilidad&amp;#039;);
    foreach ($legal_links as $href =&amp;gt; $label) {
        echo &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039; . $href . &amp;#039;&amp;quot; style=&amp;quot;color:rgba(237,233,254,.5);font-size:.85rem;text-decoration:none&amp;quot;&amp;gt;&amp;#039; . $label . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;h4 style=&amp;quot;color:#e0196b;margin:0 0 12px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px&amp;quot;&amp;gt;Ciudades&amp;lt;/h4&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;display:flex;flex-wrap:wrap;gap:6px&amp;quot;&amp;gt;&amp;#039;;
    $ciudades_f = array(&amp;#039;Madrid&amp;#039;,&amp;#039;Barcelona&amp;#039;,&amp;#039;Valencia&amp;#039;,&amp;#039;Sevilla&amp;#039;,&amp;#039;Bilbao&amp;#039;,&amp;#039;Zaragoza&amp;#039;,&amp;#039;Malaga&amp;#039;,&amp;#039;Murcia&amp;#039;,&amp;#039;Alicante&amp;#039;,&amp;#039;Cordoba&amp;#039;,&amp;#039;Valladolid&amp;#039;,&amp;#039;Vigo&amp;#039;,&amp;#039;Gijon&amp;#039;,&amp;#039;A Coruna&amp;#039;,&amp;#039;Granada&amp;#039;);
    foreach ($ciudades_f as $cf) {
        echo &amp;#039;&amp;lt;a href=&amp;quot;/anuncios/?ciudad=&amp;#039; . urlencode($cf) . &amp;#039;&amp;quot; style=&amp;quot;color:rgba(237,233,254,.4);font-size:.75rem;text-decoration:none&amp;quot;&amp;gt;&amp;#039; . esc_html($cf) . &amp;#039;&amp;lt;/a&amp;gt;&amp;#039;;
    }
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;border-top:1px solid rgba(237,233,254,.06);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.3);font-size:.8rem&amp;quot;&amp;gt;© 2026 DeseosX™. Todos los derechos reservados. Sitio para mayores de 18 años.&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;color:rgba(237,233,254,.2);font-size:.7rem&amp;quot;&amp;gt;Made in Spain 🇪🇸&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/footer&amp;gt;&amp;#039;;
}, 20);

add_shortcode(&amp;#039;deseosx_publicar_fetiche&amp;#039;, function($atts) {

    $uid = get_current_user_id();
    if (isset($_POST[&amp;#039;dx_pub_fetiche&amp;#039;])) {
        $ftitulo = sanitize_text_field($_POST[&amp;#039;titulo&amp;#039;] ?? &amp;#039;&amp;#039;);
        $fdesc = sanitize_textarea_field($_POST[&amp;#039;descripcion&amp;#039;] ?? &amp;#039;&amp;#039;);
        $fciudad = sanitize_text_field($_POST[&amp;#039;ciudad&amp;#039;] ?? &amp;#039;&amp;#039;);
        $fedad = intval($_POST[&amp;#039;edad&amp;#039;] ?? 0);
        $fgenero = sanitize_text_field($_POST[&amp;#039;genero&amp;#039;] ?? &amp;#039;&amp;#039;);
        $fwp = sanitize_text_field($_POST[&amp;#039;whatsapp&amp;#039;] ?? &amp;#039;&amp;#039;);
        if ($ftitulo &amp;amp;&amp;amp; $fdesc) {
            $fpost_id = wp_insert_post(array(
                &amp;#039;post_title&amp;#039; =&amp;gt; $ftitulo,
                &amp;#039;post_content&amp;#039; =&amp;gt; $fdesc,
                &amp;#039;post_status&amp;#039; =&amp;gt; &amp;#039;publish&amp;#039;,
                &amp;#039;post_type&amp;#039; =&amp;gt; &amp;#039;dx_fetiche&amp;#039;,
                &amp;#039;post_author&amp;#039; =&amp;gt; $uid,
            ));
            if ($fpost_id &amp;amp;&amp;amp; !is_wp_error($fpost_id)) {
                update_post_meta($fpost_id, &amp;#039;_dx_ciudad&amp;#039;, $fciudad);
                update_post_meta($fpost_id, &amp;#039;_dx_edad&amp;#039;, $fedad);
                update_post_meta($fpost_id, &amp;#039;_dx_genero&amp;#039;, $fgenero);
                update_post_meta($fpost_id, &amp;#039;_dx_whatsapp&amp;#039;, $fwp);
                return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:#4ade80&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;✅ Fetiche publicado!&amp;lt;/h2&amp;gt;&amp;lt;a href=&amp;quot;/fetiches/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;Ver fetiches&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
            }
        }
    }
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:700px;margin:0 auto;padding:20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h2 style=&amp;quot;color:#ede9fe;margin-bottom:24px&amp;quot;&amp;gt;Publicar Fetiche o Encuentro&amp;lt;/h2&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;form method=&amp;quot;post&amp;quot; style=&amp;quot;display:flex;flex-direction:column;gap:16px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;dx_pub_fetiche&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Titulo&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;titulo&amp;quot; placeholder=&amp;quot;Ej: Busco pareja swinger...&amp;quot; required style=&amp;quot;width:100%;padding:10px 14px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Ciudad&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;ciudad&amp;quot; placeholder=&amp;quot;Ej: Sevilla&amp;quot; style=&amp;quot;width:100%;padding:10px 14px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;Descripcion&amp;lt;/label&amp;gt;&amp;lt;textarea name=&amp;quot;descripcion&amp;quot; rows=&amp;quot;5&amp;quot; required style=&amp;quot;width:100%;padding:10px 14px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);resize:vertical;box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div&amp;gt;&amp;lt;label style=&amp;quot;color:rgba(237,233,254,.7);font-size:.85rem;display:block;margin-bottom:6px&amp;quot;&amp;gt;WhatsApp&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;tel&amp;quot; name=&amp;quot;whatsapp&amp;quot; placeholder=&amp;quot;+34 600 000 000&amp;quot; style=&amp;quot;width:100%;padding:10px 14px;border-radius:8px;background:#1a1730;color:#ede9fe;border:1px solid rgba(237,233,254,.1);box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;button type=&amp;quot;submit&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;padding:14px 28px;border-radius:10px;font-weight:700;font-size:1rem;border:none;cursor:pointer&amp;quot;&amp;gt;Publicar&amp;lt;/button&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

add_shortcode(&amp;#039;deseosx_responsabilidad&amp;#039;, function($atts) {
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;max-width:800px;margin:0 auto;padding:40px 20px;color:#ede9fe&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h2 style=&amp;quot;color:#e0196b;margin-bottom:24px&amp;quot;&amp;gt;Declaracion de Responsabilidad&amp;lt;/h2&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.7);line-height:1.7;margin-bottom:16px&amp;quot;&amp;gt;DeseosX.com es una plataforma de entretenimiento para adultos mayores de 18 años. Todo el contenido publicado en este sitio ha sido creado voluntariamente por sus usuarios.&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.7);line-height:1.7;margin-bottom:16px&amp;quot;&amp;gt;DeseosX.com no es responsable del contenido publicado por los usuarios ni de las interacciones entre ellos. Cada usuario es responsable de sus propias acciones y comunicaciones.&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.7);line-height:1.7;margin-bottom:16px&amp;quot;&amp;gt;Este sitio cumple con la legislacion española vigente, incluyendo la Ley Organica de Proteccion de Datos (LOPD), el Reglamento General de Proteccion de Datos (RGPD) y la Ley de Servicios de la Sociedad de la Informacion (LSSI).&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.7);line-height:1.7&amp;quot;&amp;gt;© 2026 DeseosX™ - Todos los derechos reservados. Sitio creado y operado en España.&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

// Remove default WP header/footer parts, admin bar for non-admins
add_action(&amp;#039;after_setup_theme&amp;#039;, function() {
    remove_action(&amp;#039;wp_head&amp;#039;, &amp;#039;wp_generator&amp;#039;);
});

add_action(&amp;#039;init&amp;#039;, function() {
    if (is_user_logged_in() &amp;amp;&amp;amp; !current_user_can(&amp;#039;manage_options&amp;#039;)) {
        show_admin_bar(false);
    }
});

// Redirect default wp-login to our login page
add_action(&amp;#039;login_form_login&amp;#039;, function() {
    // Keep default login for admins
});

// Trial Gold activation
add_shortcode(&amp;#039;deseosx_prueba_gratis&amp;#039;, function($atts) {
    if (!is_user_logged_in()) return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:#ede9fe&amp;quot;&amp;gt;&amp;lt;p&amp;gt;Debes &amp;lt;a href=&amp;quot;/login/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;iniciar sesion&amp;lt;/a&amp;gt; para activar la prueba.&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    $uid = get_current_user_id();
    $trial_used = get_user_meta($uid, &amp;#039;dx_trial_used&amp;#039;, true);
    $is_gold = dx_is_gold($uid);
    if ($is_gold) return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:#4ade80&amp;quot;&amp;gt;✅ Ya eres Gold!&amp;lt;/div&amp;gt;&amp;#039;;
    if ($trial_used) return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:rgba(237,233,254,.5)&amp;quot;&amp;gt;Ya usaste tu prueba gratuita. &amp;lt;a href=&amp;quot;/membership-join/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;Hazte Gold&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    if (isset($_POST[&amp;#039;activar_prueba&amp;#039;])) {
        $trial_end = time() + (5 * 24 * 60 * 60);
        update_user_meta($uid, &amp;#039;dx_trial_end&amp;#039;, $trial_end);
        update_user_meta($uid, &amp;#039;dx_trial_used&amp;#039;, 1);
        return &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px;color:#4ade80&amp;quot;&amp;gt;&amp;lt;h2&amp;gt;🎉 Prueba activada!&amp;lt;/h2&amp;gt;&amp;lt;p&amp;gt;Tienes 5 dias de acceso Gold.&amp;lt;/p&amp;gt;&amp;lt;a href=&amp;quot;/mi-panel/&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:12px 28px;border-radius:10px;text-decoration:none;font-weight:700;display:inline-block;margin-top:16px&amp;quot;&amp;gt;Ir a Mi Panel&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    }
    ob_start();
    echo &amp;#039;&amp;lt;div style=&amp;quot;text-align:center;padding:40px 20px&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;background:linear-gradient(135deg,rgba(240,180,41,.15),rgba(224,25,107,.15));border:1px solid rgba(240,180,41,.3);border-radius:20px;padding:40px;max-width:500px;margin:0 auto&amp;quot;&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;div style=&amp;quot;font-size:3rem;margin-bottom:16px&amp;quot;&amp;gt;🎁&amp;lt;/div&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;h2 style=&amp;quot;color:#f0b429;margin-bottom:12px&amp;quot;&amp;gt;Prueba Gold 5 Dias&amp;lt;/h2&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.6);margin-bottom:24px&amp;quot;&amp;gt;Accede a todas las funciones Gold durante 5 dias completamente gratis. Una sola vez por cuenta.&amp;lt;/p&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&amp;lt;button type=&amp;quot;submit&amp;quot; name=&amp;quot;activar_prueba&amp;quot; value=&amp;quot;1&amp;quot; style=&amp;quot;background:linear-gradient(135deg,#f0b429,#e0196b);color:#fff;padding:14px 32px;border-radius:12px;font-weight:700;font-size:1rem;border:none;cursor:pointer&amp;quot;&amp;gt;Activar Prueba Gratis&amp;lt;/button&amp;gt;&amp;lt;/form&amp;gt;&amp;#039;;
    echo &amp;#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;#039;;
    return ob_get_clean();
});

// Membership plans in wp_head for specific page
add_action(&amp;#039;wp_head&amp;#039;, function() {
    global $post;
    if (!$post) return;
    $plan_pages = array(&amp;#039;membership-join&amp;#039;, &amp;#039;planes&amp;#039;);
    if (!in_array($post-&amp;gt;post_name, $plan_pages)) return;
    ?&amp;gt;
    &amp;lt;style&amp;gt;#dx-plans-grid{max-width:800px;margin:0 auto 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:0 20px}
    .dx-plan-card{background:#110f1e;border-radius:16px;padding:28px;text-align:center}
    .dx-plan-card-gold{border:2px solid #f0b429}.dx-plan-card-silver{border:2px solid #7c3aed}&amp;lt;/style&amp;gt;
    &amp;lt;div id=&amp;quot;dx-plans-grid&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;dx-plan-card dx-plan-card-gold&amp;quot;&amp;gt;
        &amp;lt;div style=&amp;quot;color:#f0b429;font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:12px&amp;quot;&amp;gt;GOLD&amp;lt;/div&amp;gt;
        &amp;lt;div style=&amp;quot;font-size:2.5rem;font-weight:900;color:#ede9fe&amp;quot;&amp;gt;€25&amp;lt;/div&amp;gt;
        &amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin-bottom:16px&amp;quot;&amp;gt;/mes · acceso total&amp;lt;/div&amp;gt;
        &amp;lt;div style=&amp;quot;text-align:left;color:rgba(237,233,254,.7);font-size:.85rem&amp;quot;&amp;gt;
            &amp;lt;div style=&amp;quot;margin-bottom:6px&amp;quot;&amp;gt;✓ Contactar usuarios&amp;lt;/div&amp;gt;
            &amp;lt;div style=&amp;quot;margin-bottom:6px&amp;quot;&amp;gt;✓ Mensajes ilimitados&amp;lt;/div&amp;gt;
            &amp;lt;div style=&amp;quot;margin-bottom:6px&amp;quot;&amp;gt;✓ Insignia Gold verificada&amp;lt;/div&amp;gt;
            &amp;lt;div&amp;gt;✓ Acceso a Fetiches&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;dx-plan-card dx-plan-card-silver&amp;quot;&amp;gt;
        &amp;lt;div style=&amp;quot;color:#7c3aed;font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:12px&amp;quot;&amp;gt;SILVER&amp;lt;/div&amp;gt;
        &amp;lt;div style=&amp;quot;font-size:2.5rem;font-weight:900;color:#ede9fe&amp;quot;&amp;gt;€15&amp;lt;/div&amp;gt;
        &amp;lt;div style=&amp;quot;color:rgba(237,233,254,.5);font-size:.8rem;margin-bottom:16px&amp;quot;&amp;gt;/15 dias · prueba&amp;lt;/div&amp;gt;
        &amp;lt;div style=&amp;quot;text-align:left;color:rgba(237,233,254,.7);font-size:.85rem&amp;quot;&amp;gt;
            &amp;lt;div style=&amp;quot;margin-bottom:6px&amp;quot;&amp;gt;✓ Contactar usuarios&amp;lt;/div&amp;gt;
            &amp;lt;div style=&amp;quot;margin-bottom:6px&amp;quot;&amp;gt;✓ Mensajes ilimitados&amp;lt;/div&amp;gt;
            &amp;lt;div style=&amp;quot;margin-bottom:6px&amp;quot;&amp;gt;✓ Insignia Silver&amp;lt;/div&amp;gt;
            &amp;lt;div&amp;gt;✓ Acceso a Fetiches&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;?php
}, 1);

// Auth pages dark theme
add_action(&amp;#039;wp_head&amp;#039;, function() {
    global $post;
    if (!$post) return;
    $auth_pages = array(33, 34, 60);
    if (!in_array($post-&amp;gt;ID, $auth_pages)) return;
    echo &amp;#039;&amp;lt;style&amp;gt;.um-login,.um-register,.um-page{background:#080610!important}.um-form .um-field-label{color:#ede9fe!important}&amp;lt;/style&amp;gt;&amp;#039;;
});

// Remove site footer for cleaner look
add_filter(&amp;#039;get_the_excerpt&amp;#039;, function($excerpt, $post_obj = null) {
    return $excerpt;
});

// Ensure custom shortcodes work in Elementor
add_filter(&amp;#039;widget_text&amp;#039;, &amp;#039;do_shortcode&amp;#039;);


// PUBLIC PROFILE SHORTCODE
add_shortcode(&amp;#039;deseosx_perfil_publico&amp;#039;, function() {
  $uid = intval(isset($_GET[&amp;#039;uid&amp;#039;]) ? $_GET[&amp;#039;uid&amp;#039;] : 0);
  if(!$uid) $uid = get_current_user_id();
  if(!$uid) return &amp;#039;&amp;lt;p style=&amp;quot;color:#ede9fe;text-align:center;padding:40px&amp;quot;&amp;gt;Perfil no encontrado.&amp;lt;/p&amp;gt;&amp;#039;;
  $user = get_userdata($uid);
  if(!$user) return &amp;#039;&amp;lt;p style=&amp;quot;color:#ede9fe;text-align:center;padding:40px&amp;quot;&amp;gt;Usuario no encontrado.&amp;lt;/p&amp;gt;&amp;#039;;
  $raw_nm=(strpos($user-&amp;gt;display_name,&amp;#039;@&amp;#039;)!==false)?$user-&amp;gt;user_login:$user-&amp;gt;display_name; $nm=esc_html($raw_nm);
  $ct=esc_html(get_user_meta($uid,&amp;#039;dx_ciudad&amp;#039;,true)); if(!$ct) $ct=&amp;#039;Espana&amp;#039;;
  $ag=intval(get_user_meta($uid,&amp;#039;dx_edad&amp;#039;,true));
  $ti=esc_html(get_user_meta($uid,&amp;#039;dx_tipo&amp;#039;,true));
  $bu=esc_html(get_user_meta($uid,&amp;#039;dx_busca&amp;#039;,true));
  $na=esc_html(get_user_meta($uid,&amp;#039;dx_nacionalidad&amp;#039;,true)); if(!$na) $na=&amp;#039;Espanola&amp;#039;;
  $desc=esc_html(get_user_meta($uid,&amp;#039;dx_descripcion&amp;#039;,true));
  $reg=date(&amp;#039;M Y&amp;#039;,strtotime($user-&amp;gt;user_registered));
  $is_gold=get_user_meta($uid,&amp;#039;dx_gold_member&amp;#039;,true)||(get_user_meta($uid,&amp;#039;dx_trial_end&amp;#039;,true)&amp;gt;time());
  $current_uid=get_current_user_id();
  $can_contact=$current_uid&amp;amp;&amp;amp;($is_gold||dx_can_contact($current_uid));
    $dx_servicios_map = array(&amp;#039;dx_serv_24h&amp;#039;=&amp;gt;&amp;#039;24h&amp;#039;,&amp;#039;dx_serv_masajes&amp;#039;=&amp;gt;&amp;#039;Masajes&amp;#039;,&amp;#039;dx_serv_fr_natural&amp;#039;=&amp;gt;&amp;#039;Fr Natural&amp;#039;,&amp;#039;dx_serv_lesbisco&amp;#039;=&amp;gt;&amp;#039;Lesbisco&amp;#039;,&amp;#039;dx_serv_sado_bdsm&amp;#039;=&amp;gt;&amp;#039;Sado BDSM&amp;#039;,&amp;#039;dx_serv_hoteles&amp;#039;=&amp;gt;&amp;#039;Hoteles / Domicilios&amp;#039;,&amp;#039;dx_serv_beso_boca&amp;#039;=&amp;gt;&amp;#039;Beso en la boca&amp;#039;,&amp;#039;dx_serv_griego&amp;#039;=&amp;gt;&amp;#039;Griego&amp;#039;,&amp;#039;dx_serv_duplex&amp;#039;=&amp;gt;&amp;#039;Duplex&amp;#039;,&amp;#039;dx_serv_lluvia&amp;#039;=&amp;gt;&amp;#039;Lluvia dorada&amp;#039;,&amp;#039;dx_serv_viajes&amp;#039;=&amp;gt;&amp;#039;Viajes&amp;#039;,&amp;#039;dx_serv_frances&amp;#039;=&amp;gt;&amp;#039;Frances&amp;#039;,&amp;#039;dx_serv_beso_negro&amp;#039;=&amp;gt;&amp;#039;Beso negro&amp;#039;,&amp;#039;dx_serv_parejas&amp;#039;=&amp;gt;&amp;#039;Parejas&amp;#039;,&amp;#039;dx_serv_fiestera&amp;#039;=&amp;gt;&amp;#039;Fiestera&amp;#039;);
  $reviews_pos=intval(get_user_meta($uid,&amp;#039;dx_reviews_pos&amp;#039;,true));
  $reviews_neg=intval(get_user_meta($uid,&amp;#039;dx_reviews_neg&amp;#039;,true));
  $reviews=get_user_meta($uid,&amp;#039;dx_reviews_list&amp;#039;,true); if(!is_array($reviews)) $reviews=array();
  if($current_uid&amp;amp;&amp;amp;$current_uid!==$uid&amp;amp;&amp;amp;isset($_POST[&amp;#039;dx_review_submit&amp;#039;])){
    if(wp_verify_nonce(isset($_POST[&amp;#039;dx_rv_nonce&amp;#039;])?$_POST[&amp;#039;dx_rv_nonce&amp;#039;]:&amp;#039;&amp;#039;,&amp;#039;dx_review&amp;#039;)){
      $rv_tipo=sanitize_text_field(isset($_POST[&amp;#039;dx_rv_tipo&amp;#039;])?$_POST[&amp;#039;dx_rv_tipo&amp;#039;]:&amp;#039;pos&amp;#039;);
      $rv_txt=sanitize_text_field(isset($_POST[&amp;#039;dx_rv_txt&amp;#039;])?$_POST[&amp;#039;dx_rv_txt&amp;#039;]:&amp;#039;&amp;#039;);
      $rv_a=get_userdata($current_uid);
      $rv_nm=(strpos($rv_a-&amp;gt;display_name,&amp;#039;@&amp;#039;)!==false)?$rv_a-&amp;gt;user_login:$rv_a-&amp;gt;display_name;
      $reviews[]=array(&amp;#039;autor&amp;#039;=&amp;gt;$rv_nm,&amp;#039;uid&amp;#039;=&amp;gt;$current_uid,&amp;#039;texto&amp;#039;=&amp;gt;$rv_txt,&amp;#039;tipo&amp;#039;=&amp;gt;$rv_tipo,&amp;#039;fecha&amp;#039;=&amp;gt;date(&amp;#039;d/m/Y&amp;#039;));
      update_user_meta($uid,&amp;#039;dx_reviews_list&amp;#039;,$reviews);
      if($rv_tipo===&amp;#039;pos&amp;#039;) update_user_meta($uid,&amp;#039;dx_reviews_pos&amp;#039;,$reviews_pos+1);
      else update_user_meta($uid,&amp;#039;dx_reviews_neg&amp;#039;,$reviews_neg+1);
      wp_redirect(get_permalink().&amp;#039;?uid=&amp;#039;.$uid); exit;
    }
  }
  ob_start(); ?&amp;gt;
&amp;lt;div class=&amp;quot;dx-perfil-wrap&amp;quot;&amp;gt;
  &amp;lt;div class=&amp;quot;dx-perfil-side&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;dx-avatar-box&amp;quot;&amp;gt;&amp;lt;?php $av=get_user_meta($uid,&amp;#039;dx_avatar&amp;#039;,true); if($av): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo esc_url($av); ?&amp;gt;&amp;quot; class=&amp;quot;dx-avatar-img&amp;quot;&amp;gt;&amp;lt;?php else: ?&amp;gt;&amp;lt;div class=&amp;quot;dx-avatar-ph&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;dx-confianza-box&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;dx-conf-label&amp;quot;&amp;gt;Confianza del perfil&amp;lt;/span&amp;gt;&amp;lt;div class=&amp;quot;dx-conf-bar&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;dx-conf-fill&amp;quot; style=&amp;quot;width:60%&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;nav class=&amp;quot;dx-perfil-nav&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/mi-panel/&amp;quot;&amp;gt;Mi panel&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;/buscar-contactos/&amp;quot;&amp;gt;Buscar contactos&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;#fotos&amp;quot;&amp;gt;Fotos nuevas&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;/anuncios/&amp;quot;&amp;gt;Anuncios&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;#historias&amp;quot;&amp;gt;Historias&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;#videos&amp;quot;&amp;gt;Videos&amp;lt;/a&amp;gt;&amp;lt;a href=&amp;quot;#amigos&amp;quot;&amp;gt;Amigos&amp;lt;/a&amp;gt;&amp;lt;?php if($current_uid&amp;amp;&amp;amp;$current_uid!==$uid): ?&amp;gt;&amp;lt;a href=&amp;quot;#reportar&amp;quot; class=&amp;quot;dx-nav-report&amp;quot;&amp;gt;Reportar perfil&amp;lt;/a&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/nav&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-perfil-main&amp;quot;&amp;gt;
    &amp;lt;h1 class=&amp;quot;dx-perfil-nombre&amp;quot;&amp;gt;&amp;lt;?php echo $nm; ?&amp;gt; &amp;lt;span class=&amp;quot;dx-badge-verificado&amp;quot;&amp;gt;Verificado&amp;lt;/span&amp;gt;&amp;lt;?php if($is_gold): ?&amp;gt; &amp;lt;span class=&amp;quot;dx-badge-gold&amp;quot;&amp;gt;Gold&amp;lt;/span&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/h1&amp;gt;
    &amp;lt;p class=&amp;quot;dx-perfil-meta&amp;quot;&amp;gt;&amp;lt;?php echo $ct; ?&amp;gt; | Activo hoy | Registro: &amp;lt;?php echo $reg; ?&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;dx-fotos-grid&amp;quot; id=&amp;quot;fotos&amp;quot;&amp;gt;&amp;lt;?php $fts=get_user_meta($uid,&amp;#039;dx_fotos&amp;#039;,true); if(!is_array($fts)) $fts=array(); $mf=!empty($fts)?$fts[0]:&amp;#039;&amp;#039;; $ef=array_slice($fts,1,3); ?&amp;gt;&amp;lt;div class=&amp;quot;dx-foto-main&amp;quot;&amp;gt;&amp;lt;?php if($mf): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo esc_url($mf); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php else: ?&amp;gt;&amp;lt;div class=&amp;quot;dx-foto-ph&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php for($fi=0;$fi&amp;lt;3;$fi++): $ff=isset($ef[$fi])?$ef[$fi]:&amp;#039;&amp;#039;; ?&amp;gt;&amp;lt;div class=&amp;quot;dx-foto-sm&amp;quot;&amp;gt;&amp;lt;?php if($ff): ?&amp;gt;&amp;lt;img src=&amp;quot;&amp;lt;?php echo esc_url($ff); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php else: ?&amp;gt;&amp;lt;div class=&amp;quot;dx-foto-ph&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endfor; ?&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;p style=&amp;quot;text-align:right;margin:6px 0 16px&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#fotos&amp;quot; class=&amp;quot;dx-ver-fotos&amp;quot;&amp;gt;Ver todas las fotos &amp;amp;rarr;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;dx-datos-box&amp;quot;&amp;gt;&amp;lt;h3 class=&amp;quot;dx-section-title&amp;quot;&amp;gt;DATOS DEL USUARIO&amp;lt;/h3&amp;gt;&amp;lt;div class=&amp;quot;dx-datos-grid&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;dx-dato-label&amp;quot;&amp;gt;Tipo: &amp;lt;/span&amp;gt;&amp;lt;?php echo $ti?$ti:&amp;#039;&amp;amp;mdash;&amp;#039;; ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;dx-dato-label&amp;quot;&amp;gt;Edad: &amp;lt;/span&amp;gt;&amp;lt;?php echo $ag?$ag.&amp;#039; anos&amp;#039;:&amp;#039;&amp;amp;mdash;&amp;#039;; ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;dx-dato-label&amp;quot;&amp;gt;Nacionalidad: &amp;lt;/span&amp;gt;&amp;lt;?php echo $na; ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span class=&amp;quot;dx-dato-label&amp;quot;&amp;gt;Busca: &amp;lt;/span&amp;gt;&amp;lt;?php echo $bu?$bu:&amp;#039;&amp;amp;mdash;&amp;#039;; ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;dx-servicios-box&amp;quot;&amp;gt;&amp;lt;h3 class=&amp;quot;dx-section-title&amp;quot;&amp;gt;SERVICIOS QUE REALIZO&amp;lt;/h3&amp;gt;&amp;lt;div style=&amp;quot;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 16px;margin-top:8px;&amp;quot;&amp;gt;&amp;lt;?php $smap=[&amp;#039;dx_serv_24h&amp;#039;=&amp;gt;&amp;#039;24h&amp;#039;,&amp;#039;dx_serv_masajes&amp;#039;=&amp;gt;&amp;#039;Masajes&amp;#039;,&amp;#039;dx_serv_fr_natural&amp;#039;=&amp;gt;&amp;#039;Fr Natural&amp;#039;,&amp;#039;dx_serv_lesbisco&amp;#039;=&amp;gt;&amp;#039;Lesbisco&amp;#039;,&amp;#039;dx_serv_sado_bdsm&amp;#039;=&amp;gt;&amp;#039;Sado BDSM&amp;#039;,&amp;#039;dx_serv_hoteles&amp;#039;=&amp;gt;&amp;#039;Hoteles / Domicilios&amp;#039;,&amp;#039;dx_serv_beso_boca&amp;#039;=&amp;gt;&amp;#039;Beso en la boca&amp;#039;,&amp;#039;dx_serv_griego&amp;#039;=&amp;gt;&amp;#039;Griego&amp;#039;,&amp;#039;dx_serv_duplex&amp;#039;=&amp;gt;&amp;#039;Duplex&amp;#039;,&amp;#039;dx_serv_lluvia&amp;#039;=&amp;gt;&amp;#039;Lluvia dorada&amp;#039;,&amp;#039;dx_serv_viajes&amp;#039;=&amp;gt;&amp;#039;Viajes&amp;#039;,&amp;#039;dx_serv_frances&amp;#039;=&amp;gt;&amp;#039;Frances&amp;#039;,&amp;#039;dx_serv_beso_negro&amp;#039;=&amp;gt;&amp;#039;Beso negro&amp;#039;,&amp;#039;dx_serv_parejas&amp;#039;=&amp;gt;&amp;#039;Parejas&amp;#039;,&amp;#039;dx_serv_fiestera&amp;#039;=&amp;gt;&amp;#039;Fiestera&amp;#039;];foreach($smap as $sk=&amp;gt;$sl){$sv=get_user_meta($uid,$sk,true);echo &amp;#039;&amp;lt;div style=&amp;quot;color:#e2e8f0;font-size:.9em;padding:2px 0;&amp;quot;&amp;gt;&amp;#039;.($sv?&amp;#039;&amp;lt;span style=&amp;quot;color:#22c55e;font-weight:bold;&amp;quot;&amp;gt;&amp;amp;#10003;&amp;lt;/span&amp;gt;&amp;#039;:&amp;#039;&amp;lt;span style=&amp;quot;color:#ef4444;font-weight:bold;&amp;quot;&amp;gt;&amp;amp;#10007;&amp;lt;/span&amp;gt;&amp;#039;).&amp;#039; &amp;#039;.esc_html($sl).&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;}?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;dx-contact-box&amp;quot;&amp;gt;&amp;lt;?php if($can_contact): ?&amp;gt;&amp;lt;?php $tel=get_user_meta($uid,&amp;#039;dx_telefono&amp;#039;,true); $wa=get_user_meta($uid,&amp;#039;dx_whatsapp&amp;#039;,true); if($tel||$wa): ?&amp;gt;&amp;lt;p style=&amp;quot;color:#ede9fe&amp;quot;&amp;gt;&amp;lt;?php echo $tel?&amp;#039;Tel: &amp;#039;.esc_html($tel).&amp;#039; &amp;#039;:&amp;#039;&amp;#039;; echo $wa?&amp;#039;WA: &amp;#039;.esc_html($wa):&amp;#039;&amp;#039;; ?&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;?php else: ?&amp;gt;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5)&amp;quot;&amp;gt;Sin datos de contacto.&amp;lt;/p&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;?php else: ?&amp;gt;&amp;lt;p class=&amp;quot;dx-contact-hide&amp;quot;&amp;gt;Solo usuarios Gold pueden ver el contacto&amp;lt;/p&amp;gt;&amp;lt;a href=&amp;quot;/membership-join/&amp;quot; class=&amp;quot;dx-btn-gold-cta&amp;quot;&amp;gt;HAZTE GOLD PARA VER EL CONTACTO&amp;lt;/a&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;?php if($desc): ?&amp;gt;&amp;lt;div class=&amp;quot;dx-desc-box&amp;quot;&amp;gt;&amp;lt;h3 class=&amp;quot;dx-section-title&amp;quot;&amp;gt;DESCRIPCION&amp;lt;/h3&amp;gt;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.85);line-height:1.6&amp;quot;&amp;gt;&amp;lt;?php echo nl2br($desc); ?&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endif; ?&amp;gt;
    &amp;lt;div class=&amp;quot;dx-reviews-box&amp;quot;&amp;gt;&amp;lt;h3 class=&amp;quot;dx-section-title&amp;quot;&amp;gt;RESENAS Y CALIFICACIONES&amp;lt;/h3&amp;gt;&amp;lt;div class=&amp;quot;dx-reviews-score&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;dx-rv-pos-cnt&amp;quot;&amp;gt;&amp;amp;#10003; Positivas (&amp;lt;?php echo $reviews_pos; ?&amp;gt;)&amp;lt;/span&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;span class=&amp;quot;dx-rv-neg-cnt&amp;quot;&amp;gt;&amp;amp;#10007; Negativas (&amp;lt;?php echo $reviews_neg; ?&amp;gt;)&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php if(empty($reviews)): ?&amp;gt;&amp;lt;p style=&amp;quot;color:rgba(237,233,254,.5)&amp;quot;&amp;gt;Sin resenas todavia.&amp;lt;/p&amp;gt;&amp;lt;?php else: foreach(array_reverse($reviews) as $rv): ?&amp;gt;&amp;lt;div class=&amp;quot;dx-rv-item dx-rv-&amp;lt;?php echo esc_attr($rv[&amp;#039;tipo&amp;#039;]); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;dx-rv-header&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;dx-rv-autor&amp;quot;&amp;gt;&amp;lt;?php echo esc_html($rv[&amp;#039;autor&amp;#039;]); ?&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;dx-rv-fecha&amp;quot;&amp;gt;&amp;lt;?php echo esc_html($rv[&amp;#039;fecha&amp;#039;]); ?&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;dx-rv-badge&amp;quot;&amp;gt;&amp;lt;?php echo $rv[&amp;#039;tipo&amp;#039;]===&amp;#039;pos&amp;#039;?&amp;#039;Positiva&amp;#039;:&amp;#039;Negativa&amp;#039;; ?&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;p class=&amp;quot;dx-rv-txt&amp;quot;&amp;gt;&amp;lt;?php echo esc_html($rv[&amp;#039;texto&amp;#039;]); ?&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endforeach; endif; ?&amp;gt;&amp;lt;?php if($current_uid&amp;amp;&amp;amp;$current_uid!==$uid): ?&amp;gt;&amp;lt;div class=&amp;quot;dx-rv-form-box&amp;quot;&amp;gt;&amp;lt;h4 style=&amp;quot;color:#e0196b;margin-bottom:12px&amp;quot;&amp;gt;Dejar una resena&amp;lt;/h4&amp;gt;&amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;uid&amp;quot; value=&amp;quot;&amp;lt;?php echo $uid; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php wp_nonce_field(&amp;#039;dx_review&amp;#039;,&amp;#039;dx_rv_nonce&amp;#039;); ?&amp;gt;&amp;lt;label style=&amp;quot;color:#ede9fe;margin-right:16px&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;dx_rv_tipo&amp;quot; value=&amp;quot;pos&amp;quot; checked&amp;gt; Positiva&amp;lt;/label&amp;gt;&amp;lt;label style=&amp;quot;color:#ede9fe&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;dx_rv_tipo&amp;quot; value=&amp;quot;neg&amp;quot;&amp;gt; Negativa&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;textarea name=&amp;quot;dx_rv_txt&amp;quot; placeholder=&amp;quot;Escribe tu resena...&amp;quot; rows=&amp;quot;3&amp;quot; style=&amp;quot;width:100%;padding:10px;background:#1a1730;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ede9fe;resize:vertical;box-sizing:border-box&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&amp;lt;button type=&amp;quot;submit&amp;quot; name=&amp;quot;dx_review_submit&amp;quot; style=&amp;quot;margin-top:8px;padding:10px 24px;background:#e0196b;border:none;border-radius:8px;color:#fff;font-weight:700;cursor:pointer&amp;quot;&amp;gt;Publicar resena&amp;lt;/button&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endif; ?&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;?php return ob_get_clean();
});

add_action(&amp;#039;wp_head&amp;#039;,function(){
  if(!is_page(&amp;#039;perfil&amp;#039;)) return;
  echo &amp;#039;&amp;lt;style&amp;gt;.dx-perfil-wrap{display:flex;gap:24px;max-width:1200px;margin:0 auto;padding:20px;color:#ede9fe}.dx-perfil-side{width:180px;flex-shrink:0}.dx-perfil-main{flex:1;min-width:0}.dx-avatar-box{background:#1a1730;border-radius:12px;overflow:hidden;margin-bottom:10px;min-height:160px;display:flex;align-items:center;justify-content:center}.dx-avatar-img{width:100%;height:auto}.dx-avatar-ph{width:100%;min-height:160px;background:#2a2545}.dx-conf-label{font-size:.75em;color:rgba(237,233,254,.5);display:block;margin-bottom:4px}.dx-conf-bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px}.dx-conf-fill{height:100%;background:linear-gradient(90deg,#e0196b,#7c3aed);border-radius:2px}.dx-perfil-nav{margin-top:20px;display:flex;flex-direction:column}.dx-perfil-nav a{color:rgba(237,233,254,.75);text-decoration:none;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.88em;transition:color .2s}.dx-perfil-nav a:hover{color:#e0196b}.dx-nav-report{color:rgba(224,25,107,.6)!important;font-size:.8em!important}.dx-perfil-nombre{font-size:1.5em;margin:0 0 4px;color:#fff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dx-badge-verificado{font-size:.45em;background:#22c55e;color:#fff;padding:3px 8px;border-radius:4px;font-weight:600}.dx-badge-gold{font-size:.45em;background:#f0b429;color:#1a1730;padding:3px 8px;border-radius:4px;font-weight:700}.dx-perfil-meta{color:rgba(237,233,254,.5);font-size:.85em;margin:0 0 16px}.dx-fotos-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:110px 110px;gap:4px}.dx-foto-main{grid-row:span 2;background:#1a1730;border-radius:8px;overflow:hidden}.dx-foto-sm{background:#1a1730;border-radius:6px;overflow:hidden}.dx-foto-ph{width:100%;height:100%;background:#2a2545}.dx-foto-main img,.dx-foto-sm img{width:100%;height:100%;object-fit:cover;display:block}.dx-ver-fotos{color:#e0196b;font-size:.85em;text-decoration:none}.dx-datos-box,.dx-servicios-box,.dx-contact-box,.dx-desc-box,.dx-reviews-box{background:#110f1e;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;margin-top:16px}.dx-section-title{color:#e0196b;font-size:.8em;font-weight:700;letter-spacing:.1em;margin:0 0 14px}.dx-datos-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:.9em}.dx-dato-label{color:rgba(237,233,254,.5)}.dx-servicios-title{background:#e0196b;color:#fff;text-align:center;font-weight:700;padding:10px;border-radius:8px;margin-bottom:12px;font-size:.85em;letter-spacing:.06em}.dx-servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 4px}.dx-servicio-item{color:rgba(237,233,254,.8);font-size:.85em}.dx-contact-hide{color:rgba(237,233,254,.5);text-align:center;margin-bottom:12px;font-size:.9em}.dx-btn-gold-cta{display:block;width:100%;padding:14px;background:#e0196b;border-radius:8px;color:#fff;text-align:center;font-weight:700;text-decoration:none;font-size:1em;box-sizing:border-box}.dx-reviews-score{display:flex;gap:16px;margin-bottom:16px}.dx-rv-pos-cnt{color:#22c55e;font-weight:600}.dx-rv-neg-cnt{color:#e0196b;font-weight:600}.dx-rv-item{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;margin-bottom:10px}.dx-rv-item.dx-rv-pos{border-color:rgba(34,197,94,.2)}.dx-rv-item.dx-rv-neg{border-color:rgba(224,25,107,.2)}.dx-rv-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:6px}.dx-rv-autor{color:#e0196b;font-weight:600;font-size:.9em}.dx-rv-fecha{color:rgba(237,233,254,.4);font-size:.8em}.dx-rv-badge{font-size:.75em;padding:2px 8px;border-radius:4px}.dx-rv-item.dx-rv-pos .dx-rv-badge{background:rgba(34,197,94,.15);color:#22c55e}.dx-rv-item.dx-rv-neg .dx-rv-badge{background:rgba(224,25,107,.15);color:#e0196b}.dx-rv-form-box{margin-top:20px;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}.dx-rv-txt{color:rgba(237,233,254,.8);font-size:.9em;margin:4px 0 0}@media(max-width:640px){.dx-perfil-wrap{flex-direction:column}.dx-perfil-side{width:100%}.dx-fotos-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.dx-foto-main{grid-row:span 1}.dx-datos-grid{grid-template-columns:1fr}.dx-servicios-grid{grid-template-columns:1fr 1fr}}&amp;lt;/style&amp;gt;&amp;#039;;
},15);


add_shortcode(&amp;#039;dx_registro&amp;#039;,function(){
  if(is_user_logged_in()) return &amp;#039;&amp;lt;p style=&amp;quot;color:#ede9fe;text-align:center&amp;quot;&amp;gt;Ya registrado. &amp;lt;a href=&amp;quot;/mi-panel/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;Mi panel&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;#039;;
  $err=&amp;#039;&amp;#039;;
  if(isset($_POST[&amp;#039;dx_reg_submit&amp;#039;])){
    $nonce=isset($_POST[&amp;#039;dx_reg_nonce&amp;#039;])?$_POST[&amp;#039;dx_reg_nonce&amp;#039;]:&amp;#039;&amp;#039;;
    if(!wp_verify_nonce($nonce,&amp;#039;dx_registro&amp;#039;)){$err=&amp;#039;Error de seguridad.&amp;#039;;}
    else{
      $un=sanitize_user(trim(isset($_POST[&amp;#039;dx_user&amp;#039;])?$_POST[&amp;#039;dx_user&amp;#039;]:&amp;#039;&amp;#039;)); 
      $em=sanitize_email(trim(isset($_POST[&amp;#039;dx_email&amp;#039;])?$_POST[&amp;#039;dx_email&amp;#039;]:&amp;#039;&amp;#039;)); 
      $pw=isset($_POST[&amp;#039;dx_pass&amp;#039;])?$_POST[&amp;#039;dx_pass&amp;#039;]:&amp;#039;&amp;#039;;
      $ti=sanitize_text_field(isset($_POST[&amp;#039;dx_tipo&amp;#039;])?$_POST[&amp;#039;dx_tipo&amp;#039;]:&amp;#039;&amp;#039;);
      $bu=sanitize_text_field(isset($_POST[&amp;#039;dx_busca&amp;#039;])?$_POST[&amp;#039;dx_busca&amp;#039;]:&amp;#039;&amp;#039;);
      $ci=sanitize_text_field(isset($_POST[&amp;#039;dx_ciudad&amp;#039;])?$_POST[&amp;#039;dx_ciudad&amp;#039;]:&amp;#039;&amp;#039;);
      $ed=intval(isset($_POST[&amp;#039;dx_edad&amp;#039;])?$_POST[&amp;#039;dx_edad&amp;#039;]:0);
      if(!$un||!$em||!$pw){$err=&amp;#039;Rellena todos los campos obligatorios.&amp;#039;;}
      elseif(strlen($pw)&amp;lt;6){$err=&amp;#039;La contrasena debe tener al menos 6 caracteres.&amp;#039;;}
      elseif($ed&amp;lt;18){$err=&amp;#039;Debes ser mayor de 18 anos.&amp;#039;;}
      elseif(username_exists($un)){$err=&amp;#039;Ese nombre ya existe.&amp;#039;;}
      elseif(email_exists($em)){$err=&amp;#039;Ese email ya esta registrado.&amp;#039;;}
      else{
        $uid=wp_create_user($un,$pw,$em);
        if(is_wp_error($uid)){$err=$uid-&amp;gt;get_error_message();}
        else{
          wp_update_user(array(&amp;#039;ID&amp;#039;=&amp;gt;$uid,&amp;#039;display_name&amp;#039;=&amp;gt;$un,&amp;#039;nickname&amp;#039;=&amp;gt;$un));
          update_user_meta($uid,&amp;#039;dx_tipo&amp;#039;,$ti);
          update_user_meta($uid,&amp;#039;dx_busca&amp;#039;,$bu);
          update_user_meta($uid,&amp;#039;dx_ciudad&amp;#039;,$ci);
          update_user_meta($uid,&amp;#039;dx_edad&amp;#039;,$ed);
          wp_signon(array(&amp;#039;user_login&amp;#039;=&amp;gt;$un,&amp;#039;user_password&amp;#039;=&amp;gt;$pw,&amp;#039;remember&amp;#039;=&amp;gt;true),false);
          wp_redirect(&amp;#039;/mi-panel/&amp;#039;); exit;
        }
      }
    }
  }
  ob_start(); ?&amp;gt;
&amp;lt;div class=&amp;quot;dx-reg-wrap&amp;quot;&amp;gt;
&amp;lt;?php if($err): ?&amp;gt;&amp;lt;div class=&amp;quot;dx-reg-error&amp;quot;&amp;gt;&amp;lt;?php echo esc_html($err); ?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;?php endif; ?&amp;gt;
&amp;lt;form method=&amp;quot;post&amp;quot; class=&amp;quot;dx-reg-form&amp;quot;&amp;gt;
  &amp;lt;?php wp_nonce_field(&amp;#039;dx_registro&amp;#039;,&amp;#039;dx_reg_nonce&amp;#039;); ?&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Nombre de usuario *&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dx_user&amp;quot; required maxlength=&amp;quot;30&amp;quot; placeholder=&amp;quot;Tu apodo en DeseosX&amp;quot; value=&amp;quot;&amp;lt;?php echo esc_attr(isset($_POST[&amp;#039;dx_user&amp;#039;])?$_POST[&amp;#039;dx_user&amp;#039;]:&amp;#039;&amp;#039;); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Email *&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;email&amp;quot; name=&amp;quot;dx_email&amp;quot; required value=&amp;quot;&amp;lt;?php echo esc_attr(isset($_POST[&amp;#039;dx_email&amp;#039;])?$_POST[&amp;#039;dx_email&amp;#039;]:&amp;#039;&amp;#039;); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Contrasena *&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;password&amp;quot; name=&amp;quot;dx_pass&amp;quot; required minlength=&amp;quot;6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Que soy *&amp;lt;/label&amp;gt;&amp;lt;select name=&amp;quot;dx_tipo&amp;quot; required&amp;gt;&amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;-- Selecciona --&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Hombre&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Mujer&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Pareja&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Trans&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Bi&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Otro&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Que busco *&amp;lt;/label&amp;gt;&amp;lt;select name=&amp;quot;dx_busca&amp;quot; required&amp;gt;&amp;lt;option value=&amp;quot;&amp;quot;&amp;gt;-- Selecciona --&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Chicos&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Chicas&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Parejas&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Trans&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;Cualquiera&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Mi Ciudad&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dx_ciudad&amp;quot; placeholder=&amp;quot;Ej: Madrid&amp;quot; value=&amp;quot;&amp;lt;?php echo esc_attr(isset($_POST[&amp;#039;dx_ciudad&amp;#039;])?$_POST[&amp;#039;dx_ciudad&amp;#039;]:&amp;#039;&amp;#039;); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;label&amp;gt;Mi Edad *&amp;lt;/label&amp;gt;&amp;lt;input type=&amp;quot;number&amp;quot; name=&amp;quot;dx_edad&amp;quot; required min=&amp;quot;18&amp;quot; max=&amp;quot;99&amp;quot; value=&amp;quot;&amp;lt;?php echo esc_attr(isset($_POST[&amp;#039;dx_edad&amp;#039;])?$_POST[&amp;#039;dx_edad&amp;#039;]:&amp;#039;&amp;#039;); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;dx-field&amp;quot;&amp;gt;&amp;lt;button type=&amp;quot;submit&amp;quot; name=&amp;quot;dx_reg_submit&amp;quot; class=&amp;quot;dx-btn-reg&amp;quot;&amp;gt;Crear mi cuenta gratis&amp;lt;/button&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;p style=&amp;quot;margin-top:12px;font-size:.85em;color:rgba(237,233,254,.6);text-align:center&amp;quot;&amp;gt;Mayor de 18 anos. Al registrarte aceptas los &amp;lt;a href=&amp;quot;/terminos/&amp;quot; style=&amp;quot;color:#e0196b&amp;quot;&amp;gt;terminos&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;/form&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;?php return ob_get_clean();
});


// ===== FILTRO ANTI-CONTACTO =====
function dx_filter_contact($text) {
  $text = preg_replace(&amp;#039;/\b(\+?\d[\d\s\-\.]{6,14}\d)\b/&amp;#039;, &amp;#039;[NUMERO OCULTO]&amp;#039;, $text);
  $text = preg_replace(&amp;#039;/[\w._%+\-]+\s*[\[(@]\s*[\w.\-]+\s*[\].)]+\s*\.\s*[\w]{2,4}/&amp;#039;, &amp;#039;[EMAIL OCULTO]&amp;#039;, $text);
  $text = preg_replace(&amp;#039;/\b(whatsapp|whats|whasap|wpp|telegram|tele|tg|instagram|insta|ig|snap|snapchat|skype|signal|viber|twitter|tiktok|facebook|fb|discord)\s*[:\-=@]?\s*[\w.+\-@]{3,50}/i&amp;#039;, &amp;#039;[CONTACTO OCULTO]&amp;#039;, $text);
  $text = preg_replace(&amp;#039;/@[\w.]{3,50}/&amp;#039;, &amp;#039;[CONTACTO OCULTO]&amp;#039;, $text);
  return $text;
}
add_filter(&amp;#039;wp_insert_post_data&amp;#039;, function($data) {
  if(in_array($data[&amp;#039;post_type&amp;#039;], array(&amp;#039;dx_anuncio&amp;#039;,&amp;#039;dx_fetiche&amp;#039;))) {
    $data[&amp;#039;post_content&amp;#039;] = dx_filter_contact($data[&amp;#039;post_content&amp;#039;]);
    $data[&amp;#039;post_excerpt&amp;#039;] = dx_filter_contact($data[&amp;#039;post_excerpt&amp;#039;]);
  }
  return $data;
}, 10, 1);
add_action(&amp;#039;updated_user_meta&amp;#039;, function($mid, $uid, $key, $val) {
  $fields = array(&amp;#039;dx_descripcion&amp;#039;,&amp;#039;description&amp;#039;);
  if(in_array($key, $fields)) {
    $clean = dx_filter_contact($val);
    if($clean !== $val) update_user_meta($uid, $key, $clean);
  }
}, 10, 4);


// === EMAILS EN ESPANOL ===
add_filter(&#039;retrieve_password_title&#039;, function($title, $user_login, $user_data) {
    return &#039;Restablecer tu contrasena en &#039; . get_bloginfo(&#039;name&#039;);
}, 10, 3);

add_filter(&#039;retrieve_password_message&#039;, function($message, $key, $user_login, $user_data) {
    $reset_url = network_site_url(&#039;wp-login.php?action=rp&amp;key=&#039; . $key . &#039;&amp;login=&#039; . rawurlencode($user_login), &#039;login&#039;);
    $site_name = get_bloginfo(&#039;name&#039;);
    $nl = chr(13) . chr(10);
    $msg  = &#039;Hola,&#039; . $nl . $nl;
    $msg .= &#039;Recibimos una solicitud para restablecer la contrasena de tu cuenta en &#039; . $site_name . &#039;.&#039; . $nl . $nl;
    $msg .= &#039;Para restablecer tu contrasena, haz clic en el siguiente enlace:&#039; . $nl . $nl;
    $msg .= $reset_url . $nl . $nl;
    $msg .= &#039;Si no solicitaste este cambio, puedes ignorar este correo.&#039; . $nl . $nl;
    $msg .= &#039;Gracias,&#039; . $nl;
    $msg .= &#039;El equipo de &#039; . $site_name . $nl;
    return $msg;
}, 10, 4);
// === FIN EMAILS EN ESPANOL ===
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//deseosx.com/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://deseosx.com/post-sitemap.xml</loc>
		<lastmod>2026-05-26T04:24:40+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://deseosx.com/page-sitemap.xml</loc>
		<lastmod>2026-06-11T02:01:16+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://deseosx.com/category-sitemap.xml</loc>
		<lastmod>2026-05-26T04:24:40+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Rank Math SEO Plugin (c) Rank Math - rankmath.com -->