Intereting Posts

Запретить WordPress размещать <p> вокруг определенного элемента

На моей странице WordPress у меня иногда возникают проблемы, которые WordPress ставит

теги вокруг элементов, где я их не хочу. Например, у меня есть этот «невидимый якорь» на многих страницах:

<a class="anchor" id="some-id"></a> 

WordPress ставит

тег вокруг него, который вставляет пробел, где я не хочу его.

Я знаю, что могу фильтровать контент примерно так:

 function filter_ptags($content) { return preg_replace('/<p(.)*(anchor)(.)*<\/p>/', '<a class="anchor"></a>', $content); } add_filter('the_content', 'filter_ptags'); 

Однако проблема заключается в том, что якорь имеет индивидуальный идентификатор, конечно, чего я не знаю. Как я могу это решить?

Solutions Collecting From Web of "Запретить WordPress размещать <p> вокруг определенного элемента"

Кажется, у вас есть плагин, который вызывает проблему, потому что WP не помещает скрытые привязки в контент. вы дважды проверили текстовое поле post-editor (html / visual), чтобы определить, когда ..anchor.. этот ..anchor.. ?

однако я не рекомендую фильтровать вместо этого сохранить ПРАВИЛЬНЫЙ СОДЕРЖАНИЕ в фоновом режиме, вместо фильтрации неправильного содержимого на интерфейсе.

используйте что-то вроде этого:

 add_action('save_post', 'my_filter_func',1); function my_filter_func($post_id){ if ( ! wp_is_post_revision( $post_id ) ){ $_POST['post_content'] = str_replace('<a class="anchor"> OR WHATEVER SHOULD BE THERE, '', $_POST['post_content']); } }