Seguridad en plantillas: escapar por contexto
No existe un escape universal; cada contexto pide su función específica.
Usa esc_html para texto plano, esc_attr para atributos HTML y esc_url para enlaces.
Si recibes datos de usuario o de opciones del tema, sanea primero y escapa siempre al renderizar.
Evita imprimir variables crudas en atributos o scripts: es uno de los fallos más comunes en temas clásicos.
- Escapa en el último momento, justo antes del echo.
- Sanea al guardar, escapa al mostrar.
- No mezcles HTML y datos sin control.
- Revisa hooks y template parts también.
<?php
$title = get_the_title();
$url = get_permalink();
echo '<a class="post-link" href="' . esc_url($url) . '">' . esc_html($title) . '</a>';