Cómo eliminar el enlace "leer más" del extracto de un tipo de publicación personalizada

11 nov 2013, 23:31:30
Vistas: 42.6K
Votos: 9

¿Hay alguna manera de agregar algún tipo de filtro pre_get_posts() para eliminar el enlace "leer más" que aparece al final de the_excerpt() solo para 1 tipo de publicación personalizada específico?

Si es así, ¿alguien puede ayudarme con el código? He estado trabajando en ello durante un tiempo pero no he llegado a ninguna parte. Cualquier ayuda sería muy apreciada. ¡Gracias!

3
Comentarios

Si querías una solución rápida y sencilla, siempre podrías usar display:none en el enlace read_more para ese CPT específico.

Jonathan Jonathan
12 nov 2013 00:04:51

Gracias, lo pensé. Pero preferiría eliminar completamente el enlace si es posible para que Google no siga ni almacene en caché esas páginas específicas.

Evster Evster
12 nov 2013 00:28:24

La respuesta a esta pregunta es específica del tema y no específica de WordPress, ya que diferentes temas incluyen diferentes códigos para agregar el enlace "leer más" http://codex.wordpress.org/Customizing_the_Read_More#Displaying_a_.22more.E2.80.A6.22_link_when_using_the_the_excerpt.28.29

Brad Dalton Brad Dalton
22 may 2014 09:27:10
Todas las respuestas a la pregunta 5
0

Solucioné esto añadiendo lo siguiente a functions.php

remove_filter('get_the_excerpt', 'wp_trim_excerpt');

Cortesía de Eliminar el texto "más" o [...] de publicaciones cortas

8 dic 2019 07:50:40
0

Coloca el siguiente código en functions.php para mostrar "leer más" en todos los tipos de entrada excepto en custom_post_type.

function excerpt_read_more_link($output) {
  global $post;
  if ($post->post_type != 'custom_post_type')
  {
    $output .= '<p><a href="'. get_permalink($post->ID) . '">leer más</a></p>';  
  }
  return $output;
}
add_filter('the_excerpt', 'excerpt_read_more_link');
1 ene 2014 23:30:07
1

Una solución sencilla es colocar el siguiente código dentro de style.css:

 a.read-more {
    display:none;
 }

Esto afecta a <a class="read-more">

6 feb 2016 01:09:13
Comentarios

Debería marcarse como la respuesta correcta, porque el método no proporciona un parámetro para anularlo.

sGambolati sGambolati
25 oct 2018 23:59:14
3

¿Qué tal esto? Básicamente es una forma de personalizar el texto añadiendo una función de callback al archivo functions.php. Sin embargo, estoy pensando que si simplemente devuelves un espacio en lugar del texto, entonces debería sobrescribirlo y no mostrar nada.

// Reemplaza el texto "más" del extracto por un enlace
function new_excerpt_more($more) {
   global $post;
   return ' ';
}
add_filter('excerpt_more', 'new_excerpt_more');

Obtuve esto del Códice de Wordpress

Edición:

Esto no está probado, pero ¿qué tal si haces esto?:

// Reemplaza el texto "más" del extracto por un enlace
function new_excerpt_more($more) {
   global $post;
   if ($post->post_type == 'your-cpt')
   {
      return "&nbsp;";
   }
}
add_filter('excerpt_more', 'new_excerpt_more');

Para reiterar, no he probado esto, pero podría ponerte en el camino correcto (es decir, usa var_dump($post) para ver cómo puedes manipularlo desde dentro de la función new_excerpt_more.

12 nov 2013 00:39:50
Comentarios

Creo que vas por buen camino, pero al pegar ese código exacto en mi archivo functions.php en realidad rompe todo el sitio. Además, necesitaré que la función obtenga solo las publicaciones del tipo de contenido personalizado 'staff-members'.

Evster Evster
12 nov 2013 00:53:20

¡Gracias por la ayuda! Todavía hay algún tipo de error en la sintaxis que derriba todo el sitio y carga una página en blanco. Veré si puedo resolverlo. Tu lógica en esto parece sólida.

Evster Evster
12 nov 2013 01:41:36

Necesitas devolver $more al final de la función, de lo contrario todos los demás tipos de publicaciones perderán la etiqueta o texto de "more".

Sisir Sisir
22 may 2014 07:40:17
0
-1
function custom_theme_developement_view_product_button(){
    global $product;
    $link = $product->get_permalink();
    echo '<a href="" class="added_to_cart wc-forward" title="Ver carrito"></a>'; 
}
add_action( 'woocommerce_after_shop_loop_item', 'custom_theme_developement_view_product_button', 11 );
14 jul 2022 12:22:18