Как в вордпресс сделать свою функцию the_excerpt?
Решено
Здравствуйте, скажите как написать свою функцию, которая будет работать точно так же как и the_excerpt. Мне нужно для произвольного текста(который я храню в произвольных полях) сделать его небольшое превью. Задача на самом деле простая, очистить теги и обрезать текст(не обрезая слова) и поставить в конце многоточие. Скажите как можно в wp это реализовать?
Заранее спасибо.
1 Ответ(ы)
Ответ
Вот пример функции которая повторяет работу the_excerpt
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); // 20 количество слов $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]'); $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); return apply_filters('wp_trim_excerpt', $text, $raw_excerpt); }
Данный код нужно разместить в файле functions.php
Что бы обработать ваш текст, вызовите функцию следующем образом:
<?php echo wp_trim_all_excerpt($post_content); // $post_content - содержит текст который нужно обрезать ?>