Ответ 1
Просто вставьте этот код в свой functions.php
файл:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop', 99 );
add_filter( 'the_content', 'shortcode_unautop', 100 );
Поиск функции 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');
Просто вставьте этот код в свой 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; ?>
вместо the_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]
Это решение требует некоторых ноу-хау, но оно работает!
Надеюсь, это поможет...