Функция WPAUTOP() в WordPress: как использовать и как работает

# Функция WPAUTOP() в WordPress

Функция wpautop() автоматически преобразует текст с двойными переносами строк в HTML-параграфы. Это удобно для тех, кто хочет, чтобы текст отображался аккуратно на веб-странице.

## Как это работает?

Функция ищет двойные переносы строк и заменяет их на теги <p>, которые обозначают параграфы. Оставшиеся переносы строк становятся <br />. Это происходит, если параметр $br не установлен в 0 или false.

**Производительность:**
- 1 раз — 0.000803 сек (медленно)
- 50000 раз — 3.07 сек (быстро)

**Обратите внимание!** В функции нет хуков.

## Возврат результата

Функция возвращает строку с текстом, преобразованным в правильные теги параграфов.

## Использование

### Синтаксис

```php
wpautop( $text, $br );
  • $text (string) — текст, который нужно обработать (обязательный параметр).
  • $br (boolean) — если установлен, преобразует все оставшиеся переносы строк после преобразования. Переносы строк внутри тегов <script>, <style> и <svg> не затрагиваются.
    • По умолчанию: true

Примеры использования

Пример 1: Добавление параграфов в текст

$some_text = <<и текст внутри блока div
а также, двойные переносы строк (параграфы). TXT; echo wpautop( $some_text );

Результат будет следующим:

Некоторый отличный текст
с переносами строк

и текст внутри блока div

а также, двойные переносы строк (параграфы).

Пример 2: Если передать пустую строку

var_dump( wpautop( '' ) ); // string(0) ""

Пример 3: Отключение функции WPAUTOP()

Если вам нужно отключить автоматическое добавление параграфов, добавьте следующие строки в файл functions.php вашей дочерней темы:

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

Изменения в функции

Функция была введена с версии 0.71.

Код функции

Вот основной код функции wpautop() из файла wp-includes/formatting.php:


function wpautop( $text, $br = true ) {
$pre_tags = array();

if ( trim( $text ) === '' ) {
    return '';
}

// Для удобства добавим перенос в конец текста.
$text = $text . "n";

// Обрабатываем теги 
, чтобы они не затрагивались.
if ( str_contains( $text, '...
}

// Заменяем множественные 
на два переносы строк... $text = preg_replace( '|s*|', "nn", $text ); // Код для обработки других тегов и замены переносов... // Возвращаем конечный текст. return $text;

}

Заключение

Функция wpautop() удобна для автоматического форматирования текста в WordPress. Вы можете использовать её, чтобы улучшить внешний вид контента и сделать его более читабельным. Если вам не нужно добавлять параграфы автоматически, не забудьте отключить эту функцию в вашем коде.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *