Статический текст над категорией

Я пытаюсь добавить некоторый статический (приветственный) текст над моими выдержками, для которых была создана страница сообщений, чтобы отображать категорию, в этом случае News . Ссылка

Я попытался ввести следующее:

 <?php echo category_description(); ?> 

в index.php а затем добавив описание категории, и это вроде работает, но в итоге я получаю огромное белое пустое место под статическим текстом и перед первым отрывком блога. Любая помощь будет оценена.

Вы можете использовать the_excerpt и, возможно, также the_content , чтобы поймать, когда выдержка будет напечатана, и вывести текст перед этим.

Эти фильтры вызываются непосредственно перед тем, как текущая выдержка (или содержимое) будет напечатана на странице.

Образец кода:

 /** * Function that runs when the excerpt for the post is going to be printed * and allow to edit it just in time * * @param string $excerpt Current post excerpt */ function prependNewsDescription( $excerpt ) { // let's check if we are in the archive for 'news' // and that we are looping main query if ( is_category( 'news' ) && in_the_loop() ) { // if so, let's get the description for current queried object // that is the "news" category term // also, remove any additional html tag $desc = wp_strip_all_tags( get_queried_object()->description, true ); // finally, edit the excerpt prepending the description and a line break $excerpt = $desc . '<br>' . $excerpt; } // always return the (maybe edited) excerpt return $excerpt; } add_filter( 'the_excerpt', 'prependNewsDescription' ); add_filter( 'the_content', 'prependNewsDescription' ); 

Таким образом вам даже не нужно редактировать свои шаблоны.

Дополнительная информация о используемых функциях:

Описание категорий отформатировано в параграфах, что может добавить ненужное пустое пространство.

(Посмотрев на свою страницу, я вижу этот встроенный стиль:

 <p style="min-height: 3616px;"> 

Это вызывает проблему. Вы должны найти и исправить этот параметр. Поскольку он style.css , он не находится в вашем файле style.css , а в ваших .php файлах, где вы вызываете конкретный текст.)

Решение

Идите туда, где вы добавили

 <?php echo category_description(); ?> 

Замените его этим

 <div class="my-term-description"> <?php echo term_description(); ?> </div> 

Затем перейдите в файл functions.php и добавьте это внизу

 remove_filter('term_description','wpautop'); 

Если кому-то интересно, я использовал следующее решение:

 <div id="cat-desc"><?php echo category_description(); ?></div> <style>#cat-desc{ min-height: 0px !important; }</style>