the_content
Використовується для фільтрації контенту запису після того, як контент отриманий з бази даних, але до того, як він виведе на екран.
Завжди звертайте увагу на те, щоб передається змінна $content була повернута назад після обробки, інакше користувачі побачать порожню сторінку.
Використання
add_filter( 'the_content', 'filter_function_name_11');
function filter_function_name_11( $content ) {
// Фільтр...
return $content;
}- $content
(рядок) - Рядок, який потрібно відфільтрувати і повернути назад.
Приклади
#1 Демонстрація роботи
Для демонстрації роботи фільтра додамо в кінець кожного тексту посту напис “Кінець!”:
add_filter('the_content', 'the_end');
function the_end($text) {
return $text . 'Кінець!';
}#2 Фільтр контенту окремої сторінки
Цей приклад можна використовувати, для створення постійної сторінки контент якої буде генеруватися залежно від чогось, допустимо змінної $_GET запиту (наприклад, для зазначеного автора ?the_author=crank ):
add_filter( 'the_content', 'my_the_content_filter');
function my_the_content_filter( $content ){
// Якщо не сторінка debug нічого не робимо
if( $GLOBALS['post']->post_name != 'debug' )
return $content;
// Виконуємо дії
// передбачається що УРЛ зазначена змінна запита the_author
return "Це сторінка автора: ". $_GET['the_author'];
}#3 Значок посту
Цей приклад додасть картинку перед постом (дивіться is_single() ). Мається на увазі, що зображення називається post_icon.png і знаходиться в папці image в каталозі теми. Фільтр працює в зниженому пріоритеті 20 (зазвичай 10), це означає, що він буде оброблений пізніше за інших.
add_filter( 'the_content', 'my_the_content_filter', 20);
function my_the_content_filter( $content ){
if ( is_single() )
// Додаємо картинку на початок кожної сторінки
$content = sprintf(
'<img class="post-icon" src="%s/images/post_icon.png" alt="Post icon" title=""/>%s',
get_bloginfo( 'stylesheet_directory' ),
$content
);
// Повертаємо контент.
return $content;
}#4 Мініатюра посту на початку
Цей приклад показує, як додати мініатюру посту перед виведенням контенту. Мініатюра поста встановлюється під час редагування поста (ця функція має бути включена, дивіться add_theme_support() ). Мініатюра буде додана лише до постів (записів типу post):
add_filter( 'the_content', 'featured_image_before_content' );
function featured_image_before_content( $content ) {
if ( is_singular('post') && has_post_thumbnail()) {
$thumbnail = get_the_post_thumbnail();
$content = $thumbnail. $content;
}
return $content;
}
список змін
| З версії 0.71 | Введено. |
Де викликається хук
Де використовується хук у WordPress
remove_filter( 'the_content', 'wpautop', $ priority);
add_filter( 'the_content', 'wpautop', $current_priority - 1);
remove_filter( 'the_content', '_restore_wpautop_hook', $current_priority);
add_filter( 'the_content', '_restore_wpautop_hook', $ priority + 1);
add_filter( 'the_content', array( $this, 'run_shortcode' ), 8);
add_filter( 'the_content', array( $this, 'autoembed' ), 8);
add_filter( 'the_content', 'prepend_attachment');
add_filter( 'the_content', 'do_shortcode', 11); // AFTER wpautop().
add_filter( 'the_content', 'wp_replace_insecure_home_url');
add_filter( 'the_content', 'wp_filter_content_tags');
add_filter( 'the_content', 'wptexturize');
add_filter('the_content', 'shortcode_unautop');add_filter( 'the_content', 'wpautop');
add_filter( 'the_content', 'convert_smilies', 20);
add_filter( 'the_content', 'do_blocks', 9);
add_filter($filter, 'capital_P_dangit', 11);