类别页面上方的静态文本

时间:2015-12-04 作者:Ken A

我正在尝试在我的帖子摘录上方添加一些静态(欢迎)文本,在本例中,帖子页面已设置为显示类别News. Link

我已尝试输入以下内容:

<?php echo category_description(); ?>
进入index.php 然后添加一个类别描述,这有点奏效,但我最终在静态文本下方和第一篇博客摘录之前留下了一个巨大的空白。任何帮助都将不胜感激。

3 个回复
SO网友:IXN

类别描述采用段落格式,这可能会添加不必要的空白。

(通过查看您的页面,我看到了这种内联样式:

<p style="min-height: 3616px;">
这是导致问题的原因。您应该找到并更正此参数。因为它是内联的,所以不在style.css 文件,但在.php 调用特定文本的文件。)

Solution

转到添加的位置

<?php echo category_description(); ?>
将其替换为此

<div class="my-term-description">
<?php echo term_description(); ?>
</div>
然后转到您的函数。php文件,并将其添加到底部

remove_filter(\'term_description\',\'wpautop\');

SO网友:gmazzap

您可以使用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\' );
这样,您甚至不需要编辑模板。

有关所用功能的更多信息:

SO网友:Ken A

如果有人感兴趣,我使用了以下解决方案:

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