Det finns olika sätt att visa att använda ingresser i WordPress. Det vanligaste sättet är att använda sig av den automatiska ingressen som bestäms av texten i the_content();. Ett annat alternativ är att använda sig av den manuella textrutan för ingresser som finns i inlägg. Då uppstår oftast problemet att man inte kan bestämma längden på sin egen ingress.
För att man även ska kunna bestämma textlängden på den manuella ingressen är det bara att lägga till kodsnutten nedan längst ner i din functions.php-fil. I raden $excerpt_length = apply_filters(’excerpt_length’, 20); bestäms längden för ingressen.
function wp_trim_all_excerpt($text) { // Creates an excerpt if needed; and shortens the manual excerpt as well global $post; $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); $excerpt_length = apply_filters('excerpt_length', 20); $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]'); $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); //since wp3.3 /*$words = explode(' ', $text, $excerpt_length + 1); if (count($words)> $excerpt_length) { array_pop($words); $text = implode(' ', $words); $text = $text . $excerpt_more; } else { $text = implode(' ', $words); } return $text;*/ return apply_filters('wp_trim_excerpt', $text, $raw_excerpt); //since wp3.3 } remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'wp_trim_all_excerpt'); ?> |
Lämna ett svar