Veo un poco burdo recuperar todos los posts y luego comprobar uno a uno mediante PHP cual cumple tu condición para mostrarlo o no. Yo lanzaría una consulta con WP_Query() para que sea la base de datos la encargada de ejecutar la búsqueda/selección. Mucho más rápido, simple y eficiente. Un ejemplo:
Código PHP:
<?php
$cat = 24; //ID de la categoría, aunque puedes filtrar por nombre u otros parámetros según te convenga.
$hoy = getdate(); //Devuelve la información de fecha actual si no se índica parámetro alguno
$args = array(
'cat' => $cat;
'date_query' => array(
array(
'month' => $hoy['mon'],
'day' => $hoy['mday'],
),
),
);
$query = new WP_Query( $args );
?>
WP_Query(), documentación:
http://codex.wordpress.org/Class_Reference/WP_Query
getdate() documentación:
http://php.net/manual/es/function.getdate.php