web-dev-qa-db-fra.com

les hyperliens peuvent-ils être affichés dans des extraits?

Par défaut, il semble que tous les liens hypertexte soient supprimés des extraits. Peut-être est-ce pour empêcher le lien de puissance de se diluer.

Est-il possible d'autoriser l'affichage de liens hypertextes dans le contenu d'un extrait?

2
Steve

WordPress utilise le filtre wp_trim_excerpt pour enlever les balises. Vous pouvez supprimer le filtre et créer le vôtre qui autorisera les liens:

<?php
function new_wp_trim_excerpt($text) {
  $raw_excerpt = $text;
  if ( '' == $text ) {
    $text = get_the_content('');
    $text = strip_shortcodes( $text );
    $text = apply_filters('the_content', $text);
    $text = str_replace(']]>', ']]>', $text);
    $text = strip_tags($text, '<a>');
    $excerpt_length = apply_filters('excerpt_length', 55);
    $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
    $words = preg_split('/(<a.*?a>)|\n|\r|\t|\s/', $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE );
    if ( count($words) > $excerpt_length ) {
      array_pop($words);
      $text = implode(' ', $words);
      $text = $text . $excerpt_more;
      } 
    else {
      $text = implode(' ', $words);
      }
    }
  return apply_filters('new_wp_trim_excerpt', $text, $raw_excerpt);
  }
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'new_wp_trim_excerpt');

SOURCE: http://lewayotte.com/2010/09/22/allowing-hyperlinks-in-your-wordpress-excerpts/

5
Jeremy Jared