Uhm.. Lol.. Kinda fixed it.. But used huge ammount of code.. Prolly lotsa unecessary code here.. Lotsa!
Used:
<?php echo get_the_content_awesome('Read more..'); ?>
In template
And added:
<?php
function get_the_content_2($more_link_text = null, $stripteaser = 0, $more_file = '') {
global $id, $post, $more, $page, $pages, $multipage, $preview, $pagenow;
if ( null === $more_link_text )
$more_link_text = __( '(more...)' );
$output = '';
// If post password required and it doesn't match the cookie.
if ( post_password_required($post) ) {
$output = get_the_password_form();
return $output;
}
if ( $more_file != '' )
$file = $more_file;
else
$file = $pagenow; //$_SERVER['PHP_SELF'];
if ( $page > count($pages) ) // if the requested page doesn't exist
$page = count($pages); // give them the highest numbered page that DOES exist
$content = $pages[$page-1];
if ( preg_match('/<!--more(.*?)?-->/', $content, $matches) ) {
$content = explode($matches[0], $content, 2);
if ( !empty($matches[1]) && !empty($more_link_text) )
$more_link_text = strip_tags(wp_kses_no_null(trim($matches[1])));
} else {
$content = array($content);
}
if ( (false !== strpos($post->post_content, '<!--noteaser-->') && ((!$multipage) || ($page==1))) )
$stripteaser = 1;
$teaser = $content[0];
if ( ($more) && ($stripteaser) )
$teaser = '';
$output .= $teaser;
if ( count($content) > 1 ) {
if ( $more ) {
$output .= '<span id="more-'.$id.'"></span>'.$content[1];
} else {
$output = balanceTags($output);
if ( ! empty($more_link_text) )
$output .= ' <a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>
";
}
}
if ( $preview ) // preview fix for javascript bug with foreign languages
$output = preg_replace_callback('/\%u([0-9A-F]{4})/', create_function('$match', 'return "&#" . base_convert($match[1], 16, 10) . ";";'), $output);
return $output;
}
function get_the_content_awesome($more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {
$content = get_the_content_2($more_link_text, $stripteaser, $more_file);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}
?>
To functions.php
The only thing I really did was to copy the "get_the_content" and the "the_content" function, renamed them and made one small adjustment.
I changed the original:
$output .= ' <a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a>";
To the slightly modified:
$output .= ' <p><a href="'. get_permalink() . "#more-$id\" class=\"more-link\">$more_link_text</a></p>";
(just added the <p>'s)
There's prolly a 100 times shorter way to do this.. I would appreciate if someone could show me how.. :p