Acabo de darme cuenta de que el tema estaba marcado como solucionado, no se porque.
Pero finalmente, he encontrado una solucion, usar get_permalink en vez de the_permalink, y lo mismo con las demas funciones. Aqui pongo el codigo correcto:
Código PHP:
Ver originalfunction recent_posts ($num, $exclude_posts, $exclude_categories) {
'orderby' => 'post_date',
'order' => 'desc',
'posts_per_page' => $num,
'caller_get_posts' => 1,
'post__not_in' => $exclude_posts,
'category__not_in' => $exclude_categories,
);
$the_query = new WP_Query($args);
$output = '';
while ($the_query->have_posts()): $the_query->the_post();
$output .= '<div class="recentPost"><div class="excerpt"><span class="WidgetTitulo"><a href="'.get_permalink().'" title="'.get_the_title().'">'.get_the_title().'</a></span><span class="date">'.get_the_date().'|'.get_the_author().'</span></div></div><!-- endrecentposts-->';
endwhile;
wp_reset_query();
return $output;
}
Y el shortcode:
Código PHP:
Ver original------------------------------------------------------*/
function recent_posts($atts) {
'num' => '4',
'exclude_posts' =>'',
'exclude_cat' =>'',
), $atts ) );
$output = recent_posts ($num, $exclude_posts, $exclude_cat);
return $output;
}
add_shortcode('recent-posts', 'recent_posts');