Incluir la etiqueta more automáticamente en los post de wordpress

1 Star2 Stars3 Stars4 Stars5 Stars

Incluir la etiqueta more automáticamente en los post de wordpress

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:
  1. <!--p // the_content(__('(more...)')); the_excerpt_reloaded(40, '<a><img>
  2.  
  3. ', 'excerpt', true, 'LEER EL RESTO DEL ARTICULO...', false, 1, true);-->

Codigo para el functions.php

PHP:
  1. <!--p<-->
  2.  
  3. function wp_the_excerpt_reloaded($args='') {
  4. parse_str($args);
  5. if(!isset($excerpt_length)) $excerpt_length = 40; // length of excerpt in words. -1 to display all excerpt/content
  6. if(!isset($allowedtags)) $allowedtags = '<a>'; // HTML tags allowed in excerpt, 'all' to allow all tags.
  7. if(!isset($filter_type)) $filter_type = 'excerpt'; // format filter used =&gt; 'content', 'excerpt', 'content_rss', 'excerpt_rss', 'none'
  8. if(!isset($use_more_link)) $use_more_link = 1; // display
  9. if(!isset($more_link_text)) $more_link_text = "(more...)";
  10. if(!isset($force_more)) $force_more = 1;
  11. if(!isset($fakeit)) $fakeit = 1;
  12. if(!isset($fix_tags)) $fix_tags = 1;
  13. if(!isset($no_more)) $no_more = 0;
  14. if(!isset($more_tag)) $more_tag = 'div';
  15. if(!isset($more_link_title)) $more_link_title = 'Continue reading this entry';
  16. 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) {
  17. if(preg_match('%^content($|_rss)|^excerpt($|_rss)%', $filter_type)) {
  18. $filter_type = 'the_' . $filter_type;
  19. }
  20. 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);
  21. }</a><a title="' . $more_link_title . '" href="http://www.videoayuda.es/wp-admin/'.%20get_permalink($post-%3EID)%20.%20'#more-' . $post-&gt;ID .'">' . $more_link_text . '</a> } else {
  22. $output .= ' &lt;' . $tag . ' class="more-link"&gt;<a title="' . $more_link_title . '" href="http://www.videoayuda.es/wp-admin/'.%20get_permalink($post-%3EID)%20.%20'">' . $more_link_text . '</a> }
  23. }
  24.  
  25. 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);
  26. }
  27.  
  28. function the_excerpt_reloaded($excerpt_length=120, $allowedtags='
  29. 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) {
  30. global $post;
  31. if (!empty($post-&gt;post_password)) { // if there's a password
  32. if ($_COOKIE['wp-postpass_'.COOKIEHASH] != $post-&gt;post_password) { // and it doesn't match cookie
  33. if(is_feed()) { // if this runs in a feed
  34. $output = __('There is no excerpt because this is a protected post.');
  35. } else {
  36. $output = get_the_password_form();
  37. }
  38. }
  39. return $output;
  40. }
  41.  
  42. if($fakeit == 2) { // force content as excerpt
  43. $text = $post-&gt;post_content;
  44. } elseif($fakeit == 1) { // content as excerpt, if no excerpt
  45. $text = (empty($post-&gt;post_excerpt)) ? $post-&gt;post_content : $post-&gt;post_excerpt;
  46. } else { // excerpt no matter what
  47. $text = $post-&gt;post_excerpt;
  48. }
  49.  
  50. if($excerpt_length &lt;0) {
  51. $output = $text;
  52. } else {
  53. if(!$no_more &amp;&amp; strpos($text, '<span id="more-191"></span>')) {
  54. $text = explode('<!--more-->', $text, 2);
  55. $l = count($text[0]);
  56. $more_link = 1;
  57. } else {
  58. $text = explode(' ', $text);
  59. if(count($text)&gt; $excerpt_length) {
  60. $l = $excerpt_length;
  61. $ellipsis = 1;
  62. } else {
  63. $l = count($text);
  64. $more_link_text = '';
  65. $ellipsis = 0;
  66. }
  67. }
  68. for ($i=0; $i&lt;$l; $i++)
  69. $output .= $text[$i] . ' ';
  70. }
  71.  
  72. if('all' != $allowed_tags) {
  73. $output = strip_tags($output, $allowedtags);
  74. }
  75.  
  76. // $output = str_replace(array("\r\n", "\r", "\n", " "), " ", $output);
  77.  
  78. $output = rtrim($output, "\s\n\t\r\0\x0B");
  79. $output = ($fix_tags) ? $output : balanceTags($output);
  80. $output .= ($showdots &amp;&amp; $ellipsis) ? '...' : '';
  81.  
  82. switch($more_tag) {
  83. case('div') :
  84. $tag = 'div';
  85. break;
  86. case('span') :
  87. $tag = 'span';
  88. break;
  89. case('p') :
  90. $tag = 'p';
  91. break;
  92. default :
  93. $tag = 'span';
  94. }
  95.  
  96. if ($use_more_link &amp;&amp; $more_link_text) {
  97. if($force_more) {
  98. $output .= ' &lt;' . $tag . ' class="more-link"&gt;
  99. $output = apply_filters($filter_type, $output);
  100. return $output;
  101. }
  102. ?&gt;

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

3 Responses to “Incluir la etiqueta more automáticamente en los post de wordpress”

  1. Mostrar resumen de los posten la portada de un blog wordpress Says:

    [...] 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 [...]

  2. Bitacoras.com Says:

    Información Bitacoras.com…

    Si lo deseas, puedes hacer click para valorar este post en Bitacoras.com. Gracias….

  3. ari Says:

    no me funciono

Leave a Reply

Categorias