Intereting Posts
WordPress автоматически переадресовывает 301, если я изменяю постоянную ссылку Тролль хакеров, перенаправляя их Как создать группу радиостанций с несколькими вариантами выбора для одной темы Разбивка страницы с помощью статической передней страницы Как я могу добавить все видео из плейлиста youtube в качестве сообщения? Как $ wpdb обрабатывает COUNT (*) WP_Query, который фильтрует на основе пользовательского поля отношений Разработка плагинов и SVN Настроить поиск только для поиска текущего пользовательского типа сообщения сообщения в настраиваемом типе сообщений имеют один и тот же контент в интерфейсе Вызов функции-члена has_posts () для не-объекта в нормальном цикле $ wpdb-> query () поддержка нескольких запросов Захват действия wp_trash_post с пользовательским типом сообщения Добавить меню AZ в верхней части кода листинга AZ Как отображать переменное поле metox2.io в передней части

Что касается фильтрации текстовых сообщений

Что делает это утверждение на самом деле?

$text = apply_filters('the_content', $text); 

Из этого следует только следующее:

 $text = get_the_content(''); $text = strip_shortcodes( $text ); 

Какие фильтры применяются здесь?

Solutions Collecting From Web of "Что касается фильтрации текстовых сообщений"

Обычный способ показать содержимое сообщения в цикле – использовать:

 the_content(); 

который будет выводить результат, а не возвращать его как get_the_content() .

Но поскольку вы хотите назначить его переменной $text , вы используете:

 $text = get_the_content(''); 

но тогда выходной фильтр the_content не применяется.

Вот почему у вас есть эта строка:

 $text = apply_filters('the_content', $text); 

потому что он будет фильтровать $text через все обратные вызовы, зарегистрированные в фильтре the_content .

Вы всегда можете многому научиться из чтения источника напрямую. Функция the_content() определяется как:

 function the_content( $more_link_text = null, $strip_teaser = false) { $content = get_the_content( $more_link_text, $strip_teaser ); $content = apply_filters( 'the_content', $content ); $content = str_replace( ']]>', ']]>', $content ); echo $content; } 

Вы можете проверить все обратные вызовы, зарегистрированные в фильтре the_content с помощью:

 add_action( 'wp_footer', function(){ printf( '<h3>Debug:</h3><pre>%s</pre>', print_r( $GLOBALS['wp_filter']['the_content'], TRUE ) ); }); 

Это даст вам выход в нижней части вашей страницы, аналогично этому:

 <h3>Debug:</h3> <pre>Array ( [10] => Array ( [wptexturize] => Array ( [function] => wptexturize [accepted_args] => 1 ) [convert_smilies] => Array ( [function] => convert_smilies [accepted_args] => 1 ) [convert_chars] => Array ( [function] => convert_chars [accepted_args] => 1 ) [wpautop] => Array ( [function] => wpautop [accepted_args] => 1 ) [shortcode_unautop] => Array ( [function] => shortcode_unautop [accepted_args] => 1 ) [prepend_attachment] => Array ( [function] => prepend_attachment [accepted_args] => 1 ) ) [11] => Array ( [capital_P_dangit] => Array ( [function] => capital_P_dangit [accepted_args] => 1 ) [do_shortcode] => Array ( [function] => do_shortcode [accepted_args] => 1 ) ) ) 

где номера ключей массива являются приоритетными для фильтра.