Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Ucinanie wpisów
Forrest
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 13.10.2012

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z php w moim Wordpressie, w związku z powyższym pozwoliłem sobie zadać pytanie. Chodzi o ucinanie wpisów na stronie głównej. Automatycznie dzieje się to poprzez [...] i następuje po 55 słowach. Na ukazywanie się wpisu na stronie głównej nie ma w ogóle znaczenia opcja More w edycji danego posta.
Wpis w php wygląda następująco:
  1. /**
  2.  * Overrides default excerpt handling so we have more control
  3.  *
  4.  * @since 1.2.4
  5.  */
  6. remove_filter('get_the_excerpt', 'wp_trim_excerpt');
  7. add_filter('get_the_excerpt', 'improved_trim_excerpt');
  8. function improved_trim_excerpt($text) {
  9.  
  10. // Set allowed excerpt tags
  11. $allowed_tags = (pagelines_option('excerpt_tags')) ? pagelines_option('excerpt_tags') : '<p><br><a>';
  12.  
  13. $raw_excerpt = $text;
  14. if ( '' == $text ) {
  15. $text = get_the_content('');
  16.  
  17. $text = strip_shortcodes( $text );
  18.  
  19.  
  20. $text = apply_filters('the_content', $text);
  21.  
  22. $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text); // PageLines - Strip JS
  23.  
  24. $text = str_replace(']]>', ']]&gt;', $text);
  25.  
  26. $text = strip_tags($text, $allowed_tags); // PageLines - allow more tags
  27.  
  28. $excerpt_length = apply_filters('excerpt_length', 55);
  29. $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
  30. $words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
  31. if ( count($words) > $excerpt_length ) {
  32. array_pop($words);
  33. $text = implode(' ', $words);
  34. $text = $text . $excerpt_more;
  35. } else {
  36. $text = implode(' ', $words);
  37. }
  38. }
  39. return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
  40. }


W czym jest problem? Mianowicie po wejściu w dany temat (post) zostaje ucięty akapit, w którym jest [...]. Moja strona na której można sprawdzić o co chodzi jest dostępna tutaj (wystarczy wejść w pierwszy lepszy post oprócz pierwszy, który jest testowy i zbyt krótki).

Oczywiście mogę powiększyć liczbę w tym wersie
  1. $excerpt_length = apply_filters('excerpt_length', 55)

do na 30 000 słów, niemniej wtedy nie wiem dlaczego dublują mi się posty, tzn. po wejściu w dany post jest on widoczny zdublowany, ale w edycji post nie widać podwójnego posta tylko pojedynczy (czyli niby dobrze). Sprawdzić to można w temacie tym temacie na mojej stronie. Pierwszy akapit jest zdublowany, ale ja tej pierwszej wersji w edycji nie widzę i nie mogę nic zmienić.

Co powinienem w kodzie zmienić, aby nie ucinało mi tekstu w taki sposób, że znika reszta akapitu w temacie. Wolałbym, aby ucinało mi widok w głownym w takim miejscu w jakim ja chce - czyli po użyciu funkcji "More" w edycji tematu.

Za pomoc z góry dziękuję.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:26