Intereting Posts

Получить весь контент страницы (сгенерированный HTML в браузере)

Я ищу фильтр, который предоставляет полную страницу, сгенерированную в WordPress, включая раздел главы с метатегами, телом, стилем и динамическим контентом. the_content () и the_excerpt () работают только для динамической части, и фильтр запросов работает только для SQL-запросов (или нет)?

Я хотел бы отфильтровать некоторые данные на всей странице во всех ссылках или кнопках. Как я могу это сделать?

Вы можете использовать буферизацию вывода, чтобы выполнить это.

Добавьте крючок с высоким приоритетом непосредственно перед визуализацией шаблона:

add_action('template_redirect', 'foo_buffer_go', 0); function foo_buffer_go(){ ob_start('foo_buffer_callback'); } 

Добавьте крюк выключения с крайне низким приоритетом.

 add_action('shutdown', 'foo_buffer_stop', 1000); function foo_buffer_stop(){ ob_end_flush(); } 

Внутри вашего обратного вызова вы управляете отображаемым HTML.

 function foo_buffer_callback($buffer){ //Do something with the buffer (HTML) return $buffer; } 

Вы можете скачать это как плагин здесь: http://3-3.me/B9lK

  1. Включить плагин
  2. Посетите сайт, и он будет отображаться как «Foo Bar», что означает, что вы захватываете всю созданную HTML-форму

Вы можете использовать HTTP API для получения содержимого URL-адреса .

Незначительное изменение кода @ BrianFegter, поэтому выходной буфер закрывается, только если он был открыт. Это дает возможность условно решить, фильтровать или нет.

 if ($want_to_modify_content) { add_action('template_redirect', 'YOURPLUGIN_buffer_start', 0); } function YOURPLUGIN_buffer_start() { add_action('shutdown', 'YOURPLUGIN_buffer_stop', PHP_INT_MAX); ob_start('YOURPLUGIN_modify_content'); } function YOURPLUGIN_buffer_stop() { ob_end_flush(); } function YOURPLUGIN_modify_content($content) { //modify $content return $content; }