如何突出显示或显示特定帖子列表中的新内容

时间:2020-08-22 作者:Raghav

我想突出显示或显示特定帖子的新标签。当用户选择突出显示帖子或在帖子列表中显示新标记时,帖子应在前端的帖子列表中显示新标记。

我如何才能做到这一点?

新标签表示在帖子列表中突出显示帖子以吸引用户注意的新图像或新文本。

enter image description here

这是我添加的代码functions.php:

function wpb_lastvisit_the_title ( $title, $id ) {
 
if ( is_singular() || get_post_type( $id ) == \'page\' ) return $title;
 
// Check the post with the new tag 
$tag_ids = wp_get_post_tags($post->ID, array(\'fields\' => \'ids\'));

if ($tag_ids == \'new\') 

$title .= \'<span class="new-article">New</span>\';
return $title;
}
 
add_filter( \'the_title\', \'wpb_lastvisit_the_title\', 10, 2);

CSS:

.new-article { 
background: #feffdd;
padding: 3px;
border: 1px solid #eeefd2;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
margin-left:5px;
font-size: small;
font-weight: bold;
}
非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:Unbywyd 整理而成

确定,要显示最新帖子,请使用默认设置Recent Posts 小部件。

您可以在此处看到:Appearance -> Widgets

此小部件没有设置,可以开始使用,您可以安装任何插件,将更复杂的小部件添加到您的站点,您只需搜索:Recent Posts Widget

I found the following:

及更多。。。

只需转到插件并将其添加到您的站点,然后在小部件中选择它并进行相应的自定义

<小时/>

Edit

更改post title 相对于date (如果自发布以来还没有过一个月)

function wpb_lastvisit_the_title ( $title, $id ) {
    if ( is_singular() || get_post_type( $id ) != \'post\' ) return $title;   

    $p = get_post( $id );
    $now = new DateTime();
    $date = DateTime::createFromFormat(get_option( \'date_format\' ), $p->post_date);
    if($date){
        $interval = $now->diff($date);

        $days = $interval->d;
        // If a month has not passed, show the label
        if($days <= 30) {
            $title .= \' <span class="new-article">New</span>\';
        } 
    }
    return $title;
}

add_filter( \'the_title\', \'wpb_lastvisit_the_title\', 10, 2);
按标签:

function wpb_lastvisit_the_title ( $title, $id ) {
    if ( is_singular() || get_post_type( $id ) != \'post\' ) return $title;

    $tag_ids = wp_get_post_tags($id, array(\'fields\' => \'ids\'));
    // tag with name - new
    $tagId = get_term_by(\'slug\', \'new\', \'post_tag\') -> term_id;
  if(in_array($tagId, $tag_ids)) {
        $title .= \' <span class="new-article">New</span>\';
    }
    return $title;
}

add_filter( \'the_title\', \'wpb_lastvisit_the_title\', 10, 2);

相关推荐

有没有办法通过主题的附加css接口添加新的div类?

我正在尝试修改woocommerce网站,我很少接受HTML/CSS培训。我学到的大部分知识都来自反复试验、一些在线教程、在Chrome中使用开发人员控制台等等。。。。我正在尝试将图像边框添加到页面标题的顶部,正好在名为tg-container. 我可以使用一个现有的类在它下面放置一个,我不需要查看它的信息。是否可以在主题中内置额外的CSS界面,或者我必须进入样式中。css和html来创建boarder?我知道附加CSS界面的好处是,每当主题更新时,无需直接编辑主题文件。Bypass PageExamp