I tend to use post excerpts (the_excerpt) on the home page and archive views of a blog rather than full posts (the_content). Using the excerpt controls the size of each post and provides a clean interface for readers to scan content. However, I think it’s better to have a permalink with custom anchor text trailing each post excerpt rather than the default [...] text providing no usability.
There are plugins for this, such as The Excerpt Reloaded. I for one always try to keep plugin usage to a minimum and this can be done very easily by adding a small function to your theme files.
Open your theme’s functions file or functions.php in your themes directory, if you doen’t see a functions.php file you can create it, and add the following code:
//function to replace trailing text on the_excerpt
function customtrail_excerpt($text)
{
return str_replace('[...]', '<a href="'. get_permalink($post->ID) . '">' . 'Continue Reading …' . '</a>', $text);
}
add_filter('the_excerpt', 'customtrail_excerpt');
Your post excerpts should now look something like this..

making the trailing text S.E.O. friendly anchor text
Making the anchor text dynamic instead of a default “Read Now” or “Continue Reading” is great for Search Engine Optimization. First we need to add another function to our theme files (functions.php) that will go out and get the content of a custom field from our posts meta data. This custom field should be named “anchor” and if you populate this field while writing a post, your custom anchor text will display at the end of each post excerpt as anchor text linking to the permalink of the post, otherwise a default “Read More…” will display in the brackets.
Below is the updated code featuring the additional custom fields function and also some changes to the original Custom Trailing Text function I posted above. Instead of just returning static text it will look for the custom field of “anchor” and display this text, otherwise display the default “Read More…” trailing each post excerpt.
//function to get custom fields outside the loop
function get_custom_field($key, $echo = FALSE) {
global $post;
$custom_field = get_post_meta($post->ID, $key, true);
if ($echo == FALSE) return $custom_field;
echo $custom_field;
}
//function to replace trailing text on the_excerpt
function customtrail_excerpt($text) {
$customanchor = get_custom_field('anchor', false);
if(!empty($customanchor)):
$anchortext = $customanchor;
endif;
if(empty($customanchor)):
$anchortext = 'Continue Reading …';
endif;
return str_replace('[...]', '[<a href="'. get_permalink($post->ID) . '">' . $anchortext . '</a>]', $text);
}
add_filter('the_excerpt', 'customtrail_excerpt');
?>
Your post excerpts should now look something like this…
