Перейти до змісту

Проблема з пустими тегами параграфа (<p>) у WordPress

Є така проблема у WordPress: додавати пусті теги параграфа (наприклад: <p>) при їх виведенні там де треба і там де не треба.

Вся справа у функції wpautop. Це корисна функція, якщо ви пишете текст допису у режимі HTML редактора. Адже тоді вам достатньо залишити один пустий рядок між текстом і двигунець зрозуміє це як новий параграф.
Але у вас точно виникнуть проблеми, якщо ви насправді не хочете робити новий параграф. Наприклад, я зіткнувся із ситуацією, коли з нового рядка у мене має йти тег посилання, але двигунець з якогось дива приписує до нього відкритий тег параграфа. Як же його позбутись??

Рішень є кілька. Все залежить від ваших потреб :) Одне з них - скористатись додатковою функцією форматування, як це пропонує WPrecipes.com. Мені ж треба було щось значно простіше ніж операції над фільтрами двигунця. Як виявилось, щоб локально вивести текст допису так щоб лише з форматуванням заданим самим користувачем - треба замість:

<?php the_content(); ?>

скористатись:

<?php echo get_the_content(); ?>

Коментарі (6)

  1. black0wolf

    Я для цього використовую плагін Remove P

    1. Віталій Кійко

      Дякую, це теж варіант!

  2. volodymyrl

    Ще можна прибрати абзаци тільки навколо зображень. Тільки коду зараз не пам'ятаю.
    function filter_ptags_on_images($content){
    return preg_replace('/\s*(<a>)?\s*()\s*()?\s*/iU', '\1\2\3', $content);
    }

    add_filter('the_content', 'filter_ptags_on_images')

  3. lilumi

    Є й простіший спосіб - робити новий рядок натисканням комбінації shift+enter (це створить тег br)

    1. volodymyrl

      цікаво, треба буде спробувати

  4. Віталій Кійко

    Дякую всім за поради!