Wiele długości fragmentów w wordpress

Jak napisano w tytule, szukam wielu fragmentów w WordPress.

Rozumiem, że można to zrobić w funkcji.php:

function twentyten_excerpt_length( $length ) {
    return 15;
}
add_filter( 'excerpt_length', 'twentyten_excerpt_length' );

Chcę wiedzieć, w jaki sposób możesz mieć wiele z nich zwracających różne wartości liczbowe, dzięki czemu mogę uzyskać krótkie fragmenty pętli paska bocznego, dłuższe fragmenty polecanych pętli i najdłuższy fragment głównego artykułu.

Coś w rodzaju użycia ich w szablonach:

<?php the_excerpt('length-short') ?>
<?php the_excerpt('length-medium') ?>
<?php the_excerpt('length-long') ?>

1 odpowiedź

Spróbuj tak:

function excerpt($limit) {
      $excerpt = explode(' ', get_the_excerpt(), $limit);

      if (count($excerpt) >= $limit) {
          array_pop($excerpt);
          $excerpt = implode(" ", $excerpt) . '...';
      } else {
          $excerpt = implode(" ", $excerpt);
      }

      $excerpt = preg_replace('`\[[^\]]*\]`', '', $excerpt);

      return $excerpt;
}

function content($limit) {
    $content = explode(' ', get_the_content(), $limit);

    if (count($content) >= $limit) {
        array_pop($content);
        $content = implode(" ", $content) . '...';
    } else {
        $content = implode(" ", $content);
    }

    $content = preg_replace('/\[.+\]/','', $content);
    $content = apply_filters('the_content', $content); 
    $content = str_replace(']]>', ']]&gt;', $content);

    return $content;
}

w kodzie szablonu po prostu używasz:

<?php echo excerpt(25); ?>

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.