The Display Posts Shortcode plugin will display a list of posts matching your query, and the titles will be linked. This snippet will remove the links from the titles.
<?php | |
/** | |
* Remove Link from Title on Display Posts Shortcode | |
* @author Bill Erickson | |
* @link http://www.billerickson.net/code/remove-link-from-title-on-display-posts-shortcode | |
* | |
* @param $output string, the original markup for an individual post | |
* @param $atts array, all the attributes passed to the shortcode | |
* @param $image string, the image part of the output | |
* @param $title string, the title part of the output | |
* @param $date string, the date part of the output | |
* @param $excerpt string, the excerpt part of the output | |
* @param $inner_wrapper string, what html element to wrap each post in (default is li) | |
* @return $output string, the modified markup for an individual post | |
*/ | |
function be_display_posts_unlink_title( $output, $original_atts, $image, $title, $date, $excerpt, $inner_wrapper, $content, $class ) { | |
// Create a new title | |
$title = '<span class="title">' . get_the_title() . '</span> '; | |
// Now let's rebuild the output | |
$output = '<' . $inner_wrapper . ' class="' . implode( ' ', $class ) . '">' . $image . $title . $date . $author . $excerpt . $content . '</' . $inner_wrapper . '>'; | |
// Finally we'll return the modified output | |
return $output; | |
} | |
add_filter( 'display_posts_shortcode_output', 'be_display_posts_unlink_title', 10, 9 ); |