Вырезка для первого абзаца

Я пытаюсь обрезать выдержку только в первом абзаце, добавляя фильтры в файл functions.php моей темы. Я отлично работаю на своей локальной машине (используя WAMP), но на моем самом веб-сервере он выводит всю запись, а не пункт, который я ожидаю. Вот что мне нужно подрезать выдержку:

// Set the excerpt length to more than necessary function triangle_x_excerpt_length($length) { return 999; } add_filter('excerpt_length', 'triangle_x_excerpt_length', 999); // Get the first paragraph of the article function triangle_x_excerpt($text, $raw_excerpt) { if(!$raw_excerpt) { $content = apply_filters( 'the_content', get_the_content() ); $text = substr( $content, 0, strpos( $content, '</p>' ) + 4 ); } $text = preg_replace("/<img[^>]+\>/i", "", $text); return $text; } add_filter('get_the_excerpt', 'triangle_x_excerpt', 20, 2); // Remove read more link at end of excerpt function new_excerpt_more($more) { return ''; } add_filter('excerpt_more', 'new_excerpt_more'); 

Solutions Collecting From Web of "Вырезка для первого абзаца"

Вы можете сопоставить это с regEx и легко выбрать количество возвращаемых абзацев.

 // in context function triangle_x_excerpt( $text, $raw_excerpt ) { $content = apply_filters( 'the_content', get_the_content() ); $text = ( preg_match( sprintf( '~(<p>.+?</p>){%d}~i', 1 ), $content, $matches ) ) ? $matches[ 0 ] : $content; return preg_replace( "/<img[^>]+\>/i", "", $text ); } 

 $text = prefix_get_p( $content, 1); 

 function prefix_get_p($content, $max = 1) { $max = is_numeric($max) ? absint($max) : 1; return (preg_match(sprintf('~(<p>.+?</p>){%d}~i', $max), $content, $matches)) ? $matches[0] : $content; } echo "Limit 1" . PHP_EOL; echo prefix_get_p('<p>aaaaa</p><p>bbbbb</p><p>ccccc</p><p>dddddd</p><p>eeeeeee</p><p>ffffff</p>', 1); // <p>aaaaa</p> echo "Limit 3" . PHP_EOL; echo prefix_get_p('<p>aaaaa</p><p>bbbbb</p><p>ccccc</p><p>dddddd</p><p>eeeeeee</p><p>ffffff</p>', 3); // <p>aaaaa</p><p>bbbbb</p><p>ccccc</p> echo "Limit 2" . PHP_EOL; echo prefix_get_p('<p>aaaaa</p><p>bbbbb</p><p>ccccc</p><p>dddddd</p><p>eeeeeee</p><p>ffffff</p>', 2); // <p>aaaaa</p><p>bbbbb</p>