Wsparcie » Motywy » Jak ustawić limit słów w poście?

  • Rozwiązano fazgraphic

    (@fazgraphic)


    Witajcie posiadam dośc banalny problem… Chciałem ustawić limit słów w postach na głównej. Znalazłem jakis skrypt do pliku functions:

    function string_limit_words($string, $word_limit)
    {
      $words = explode(' ', $string, ($word_limit + 1));
      if(count($words) > $word_limit)
      array_pop($words);
      return implode(' ', $words);
    }

    oraz do szablonu:

    <?php
      $excerpt = get_the_excerpt();
      echo string_limit_words($excerpt,25);
    ?>

    Niby działa… ALE nie do końca… bo jak ustawie jakiś większy limit np 200 słów nie wyświetla tylu. Nie mam pojęcia czemu jakas wewnętrzna WP blokada?

    Z góry dziekuję za podpowiedzi

Viewing 6 replies - 1 through 6 (of 6 total)
  • Niby działa… ALE nie do końca… bo jak ustawie jakiś większy limit np 200 słów nie wyświetla tylu. Nie mam pojęcia czemu jakas wewnętrzna WP blokada?

    A gdzie ustawiasz ten limit? Pamiętaj, że excerpt już ma limit, zobacz tutaj: http://codex.wordpress.org/Function_Reference/the_excerpt#Control_Excerpt_Length_using_Filters

    Thread Starter fazgraphic

    (@fazgraphic)

    W takim razie użyłem:

    function custom_excerpt_length( $length ) {
    	return 20;
    }
    add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

    Kodu z kodeksu, działa 🙂
    Już można ustawić limit na więcej słów. ale wciąż troche za mało. Gdyż gdy będe wstawiał na prawde długi artykuł chciałbym zaprezentowac np 200 pierwszych słów. Co więcej nie pokazuje się formatowanie tekstu, czyli pogrubienia, akapity… Da sie coś z tym zrobić ?

    Co więcej nie pokazuje się formatowanie tekstu, czyli pogrubienia, akapity… Da sie coś z tym zrobić ?

    Excerpt z definicji czyści kod html. Możesz albo wyświetlać korzystając z pełnego tekstu, albo wyłączyć czyszczenie html’a dla excerpt.

    Oba te sposoby mogą doprowadzić do błędnego wyświetlania się całej witryny, bo np obetniesz zakończenie jakiegoś tagu.

    Thread Starter fazgraphic

    (@fazgraphic)

    No zaryzykowałbym wyłączenie czyszczenie wiesz moze jak to zrobić?

    No zaryzykowałbym wyłączenie czyszczenie wiesz moze jak to zrobić?

    echo string_limit_words( get_the_content(),25);
    Thread Starter fazgraphic

    (@fazgraphic)

    Dziękuje, teraz nawet długość działa 😀

Viewing 6 replies - 1 through 6 (of 6 total)
  • Temat ‘Jak ustawić limit słów w poście?’ jest zamknięty na nowe odpowiedzi.