2013-12-20 2 views
0

Я использую плагин multiEdit для создания некоторых областей контента на шаблоне.Удалить теги P с плагином multiedit

Один из этих регионов предназначен для некоторых фотографий, которые будут использовать цикл jQuery для поворота изображения.

Но, как обычно, Wordpress (или редактор скорее) обертывает все изображения в теге <p>.

Я использовал функцию взломать из CSS-Tricks, чтобы удалить <p> тегов из содержания:

function filter_ptags_on_images($content){ 
return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); 
} 

add_filter('the_content', 'filter_ptags_on_images'); 

Но, от того, что я могу сказать, это выглядит только для the_content и не для чего-то еще.

Multiedit использует это: <?php multieditDisplay('name_of_region'); ?> для отображения блока контента в шаблоне.

Итак, я попытался изменить функцию следующим образом:

function filter_ptags_on_images($content){ 
    return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); 
} 
add_filter('multieditDisplay', 'filter_ptags_on_images'); 

Но нет такой удачи.

Итак, я не уверен, что я что-то упустил или просто поступил неправильно.

ответ

0

Вместо размещения полой MultiEdit в шаблоне как в этом примере

<?php multieditDisplay('Top'); ?> 

Вы можете предотвратить автоматическую печать пропускания верно, как второй параметр, подобный этому

<?php echo multieditDisplay('Top', true); ?> 

Так что, если вы хотите вырезать все теги из вывода, то попробуйте этот

<?php echo strip_tags(multieditDisplay('Top', true)); ?> 

Если вы хотите включить некоторые теги затем предоставить список тегов, чтобы включить и передать его в качестве параметра strip_tags как этот

<?php echo strip_tags(multieditDisplay('Top', true), '<p><a>'); ?> 
Смежные вопросы