Incluir la etiqueta more automáticamente en los post de wordpress
Posteado el Dia: Noviembre 22, 2008
Incluir la etiqueta more automáticamente en los post de wordpress.
Muchas veces los post que escribimos son demasiado largos y si los ponemos enteros en la portada de nuestro blog, esta se hace demasiado pesada de visualizar, por lo tanto lo lógico es cortar los post por medio de la etiqueta more, de tal modo que solo se muestre un resumen de la entrada en la portada.
En este videotutorial encontrareis el método a seguir par poder automatizar esta acción de tal modo que en la portada se muestre un resumen de cada post, y a continuación un enlace para leer el post completo.
Para poder seguir el tutorial necesitaremos los siguientes codigos:
Codigo para el index.php
PHP:
-
<!--p // the_content(__('(more...)')); the_excerpt_reloaded(40, '<a><img>
-
-
', 'excerpt', true, 'LEER EL RESTO DEL ARTICULO...', false, 1, true);-->
Codigo para el functions.php
PHP:
-
<!--p<-->
-
-
function wp_the_excerpt_reloaded($args='') {
-
if(!isset($excerpt_length)) $excerpt_length = 40; // length of excerpt in words. -1 to display all excerpt/content
-
if(!isset($allowedtags)) $allowedtags = '<a>'; // HTML tags allowed in excerpt, 'all' to allow all tags.
-
if(!isset($filter_type)) $filter_type = 'excerpt'; // format filter used => 'content', 'excerpt', 'content_rss', 'excerpt_rss', 'none'
-
if(!isset($showdots)) $showdots = 1;</a><a>', $filter_type='none', $use_more_link=true, $more_link_text="(more...)", $force_more=true, $fakeit=1, $fix_tags=true, $no_more=false, $more_tag='div', $more_link_title='Continue reading this entry', $showdots=true) {
-
if(preg_match('%^content($|_rss)|^excerpt($|_rss)%', $filter_type)) {
-
$filter_type = 'the_' . $filter_type;
-
}
-
echo get_the_excerpt_reloaded($excerpt_length, $allowedtags, $filter_type, $use_more_link, $more_link_text, $force_more, $fakeit, $no_more, $more_tag, $more_link_title, $showdots);
-
}</a><a title="' . $more_link_title . '" href="http://www.videoayuda.es/wp-admin/'.%20get_permalink($post-%3EID)%20.%20'#more-' . $post->ID .'">' . $more_link_text . '</a> } else {
-
$output .= ' <' . $tag . ' class="more-link"><a title="' . $more_link_title . '" href="http://www.videoayuda.es/wp-admin/'.%20get_permalink($post-%3EID)%20.%20'">' . $more_link_text . '</a> }
-
}
-
-
return the_excerpt_reloaded($excerpt_length, $allowedtags, $filter_type, $use_more_link, $more_link_text, $force_more, $fakeit, $fix_tags, $no_more, $more_tag, $more_link_title, $showdots);
-
}
-
-
function the_excerpt_reloaded($excerpt_length=120, $allowedtags='
-
function get_the_excerpt_reloaded($excerpt_length, $allowedtags, $filter_type, $use_more_link, $more_link_text, $force_more, $fakeit, $no_more, $more_tag, $more_link_title, $showdots) {
-
global $post;
-
if (!empty($post->post_password)) { // if there's a password
-
if ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post->post_password) { // and it doesn't match cookie
-
if(is_feed()) { // if this runs in a feed
-
$output = __('There is no excerpt because this is a protected post.');
-
} else {
-
$output = get_the_password_form();
-
}
-
}
-
return $output;
-
}
-
-
if($fakeit == 2) { // force content as excerpt
-
$text = $post->post_content;
-
} elseif($fakeit == 1) { // content as excerpt, if no excerpt
-
} else { // excerpt no matter what
-
$text = $post->post_excerpt;
-
}
-
-
if($excerpt_length <0) {
-
$output = $text;
-
} else {
-
$more_link = 1;
-
} else {
-
$l = $excerpt_length;
-
$ellipsis = 1;
-
} else {
-
$more_link_text = '';
-
$ellipsis = 0;
-
}
-
}
-
for ($i=0; $i<$l; $i++)
-
$output .= $text[$i] . ' ';
-
}
-
-
if('all' != $allowed_tags) {
-
}
-
-
// $output = str_replace(array("\r\n", "\r", "\n", " "), " ", $output);
-
-
$output = ($fix_tags) ? $output : balanceTags($output);
-
$output .= ($showdots && $ellipsis) ? '...' : '';
-
-
switch($more_tag) {
-
case('div') :
-
$tag = 'div';
-
break;
-
case('span') :
-
$tag = 'span';
-
break;
-
case('p') :
-
$tag = 'p';
-
break;
-
default :
-
$tag = 'span';
-
}
-
-
if ($use_more_link && $more_link_text) {
-
if($force_more) {
-
$output .= ' <' . $tag . ' class="more-link">
-
$output = apply_filters($filter_type, $output);
-
return $output;
-
}
-
?>



Noviembre 23rd, 2008 at 4:16 am
[...] Mostrar resumen de los posten la portada de un blog wordpress www.videoayuda.es/incluir-la-etiqueta-more-automaticamente-e… por antonio3407 hace pocos segundos [...]
Diciembre 3rd, 2008 at 9:56 pm
Información Bitacoras.com…
Si lo deseas, puedes hacer click para valorar este post en Bitacoras.com. Gracias….
Septiembre 17th, 2009 at 11:43 am
no me funciono