Intereting Posts
Преобразование HTML в PDF в php онлайн Heroku не распознает мое приложение Laravel как приложение PHP и не выполняет установку композитора предотвратить открытие страницы на iframe? Невозможно остановить C-демона в определенных ситуациях из PHP Как создать ссылку для загрузки сгенерированных документов в symfony2? Apache нерестилищ зомби процессы при вызове php Объединить и суммировать два многомерных массива в PHP как проверить, не является ли поле уникальным SQLSTATE : Недопустимый номер параметра: количество связанных переменных не совпадает с числом токенов в строке 102 Как создать рекурсивную функцию для отображения всех комбинаций многоуровневого массива? Facebook require_login не работает Сбросить форму через javascript, который вызывается через php Сброс пароля в codeigniter Попытка получить yahoo weather с помощью jquery / php / xml Ошибка фабрики PHPExcel при чтении XML из URL-адреса

удалите пустые теги <p> из коротких кодов WordPress с помощью php functon

Поиск функции php (не-jQuery или wpautop) для удаления <p></p> из WordPress.

Я пробовал это, но он не работает:

  function cleanup_shortcode_fix($content) { $array = array ( '<p>[' => '[', ']</p>' => ']', ']<br />' => ']', ']<br>' => ']' ); $content = strtr($content, $array); return $content; } add_filter('the_content', 'cleanup_shortcode_fix'); 

Related of "удалите пустые теги <p> из коротких кодов WordPress с помощью php functon"

Просто вставьте этот код в файл functions.php :

 remove_filter( 'the_content', 'wpautop' ); add_filter( 'the_content', 'wpautop', 99 ); add_filter( 'the_content', 'shortcode_unautop', 100 ); 

add_filter('the_content', 'cleanup_shortcode_fix', 10);

Я обнаружил, что он работает, если вы укажете 10 как приоритет; никакое другое число не будет работать.

возможно, регулярное выражение могло бы работать:

 $string=preg_replace_('/<p>\s*</p>/', '', $string); 

Это должно заменить любой <p></p> ничем или просто пробелами в нем ни к чему, тем самым удаляя их.

При применении регулярного выражения к HTML-коду рекомендуется сначала удалить \r\n из HTML, так как они перестают работать с регулярным выражением.

Вы должны увеличить приоритет фильтра.

Это должно работать

 add_filter('the_content', 'cleanup_shortcode_fix', 1); 

Вы можете удалить

Введите тег

 <?php echo $post->post_content; ?> 

вместо of_content ()

Что вам нужно, это сочетание jquery и php … это единственный рабочий путь
что я нашел работу очень хорошо. У меня есть учебник на моем сайте, но
для того, чтобы держать вещи здесь

JQuery:
включить это в некоторый файл JS, который вы уже в очереди

 jQuery(function($){ $('div#removep > p').filter(function() { return $.trim($(this).text()) === '' && $(this).children().length == 0 }) .remove() }) 

Штрипток, который вы позже можете использовать:
в файле functions.php или включенном файле

 function sght_removep( $atts, $content = null ) {return '<div id="removep">'.do_shortcode($content).'</div>';} add_shortcode('removep', 'sght_removep'); 

Теперь вы можете обернуть определенные вещи следующим образом:

 [removep] Some text i write directly in wordpress wysiwyg <p></p> <-- this would get removed [/removep] 

Это решение требует некоторых ноу-хау, но оно работает!
Надеюсь это поможет…