Intereting Posts
Как показать различные виджеты на разных страницах удобным для пользователя способом Использование DK PDF для создания динамического PDF из сообщений Исключить все липкие сообщения на первой странице двадцать двенадцать oEmbed vimeo с параметрами add_query_arg, не вставленными в HTML Где разместить архив- {post-type} .php Проблемы с file_exists () с плагином metoxox в WordPress WordPress wp_enqueue_script добавляет только текст в начало страницы Что-то случилось, и теперь я не могу попасть в wp-admin Расширьте таблицу wp_users Рекомендуемое изображение не отображается в wp-admin Есть ли способ инициировать автоматический импорт резервной копии WP для создания нового многосайтового сайта WP? Удалить определенную страницу / сообщение из фида Когда я загружаю любой мультимедийный файл, он говорит: «Загруженный файл не может быть перемещен в wp-content / uploads / 2017/04» Wp-CLI не работает с WordPress, установленным с композитором Открыть сообщения в редакторе в режиме «Текст» по умолчанию

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

Я пытаюсь обрезать выдержку только в первом абзаце, добавляя фильтры в файл 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>