欢迎来到资源库(www.zyku.net)

WordPress

当前位置:首页 > CMS教程 > WordPress > 置顶文章

WordPress让最新文章和置顶文章添加new和top图标的方法

时间:2017-02-28|栏目:WordPress|点击:|我要投稿

wordpress发布文章一般类型是置顶或者在默认正常。如果在置顶文章或者是24小时内最新发布的文章标题加上相应的图标,不仅可以增加美观,也可以提高用户浏览网站的点击率。网上有各种漂亮的图标大家可以自己去搜一下。然后上传网站替换下面代码的图片路径即可。

添加最新文章图标方法一:

<?php
function add_title_icon($title)
{
global $post;
$post_date=$post->post_date;
$current_time=current_time('timestamp');
$diff=($current_time-strtotime($post_date))/3600;
$title_icon_new=get_bloginfo('template_directory').'/images/new.gif';
if($diff<24)
{
$title='<img src="'.$title_icon_new.'" />'.$title;
}
return $title;
}
add_filter('the_title','add_title_icon',999);
?>

把以上代码插入在主题文件夹的 functions.php 里就行了,可以修改代码中的24为你想要的数值,则超过规定的时间后图标就会自动消失。

再把 new.gif 图片文件上传到当前主题的images目录下面即可。

添加置顶文章图标方法:

<?php
function add_top_title_icon($title)
{
    global $post;
    $title_icon_top=get_bloginfo('template_directory').'/images/top.gif';
    $sticky = get_option('sticky_posts');
    if($sticky)
    {
    $title=in_array($post->ID,$sticky)?'<img src="'.$title_icon_top.'" />'.$title:$title;
    }
    return $title;
}
add_filter('the_title','add_top_title_icon',999);
?>

使用方法如同添加new图标代码。

用了以上代码后,如果页面列表里的链接也加上了和标题一样的new图标,可以添加以下代码解决:

function strip_page_icon_html($content) 
{
        $content = preg_replace('@<img(\s?)src=(.*?)(\s?)\/>@','',$content);
        $content = preg_replace('@<img(\s?)src=(.*?)(\s?)\/>@','',$content);
        return $content;
}
add_filter('wp_list_pages','strip_page_icon_html',1000);

加上修正代码以后,一切应该正常显示了。

添加最新文章图标方法二:

<?php
$t1=$post->post_date;
$t2=date("Y-m-d H:i:s");
$diff=(strtotime($t2)-strtotime($t1))/3600;
if($diff<24){echo '<img src="'.get_bloginfo('template_directory').'/images/new.gif" alt='24小时内最新' />';}
?>

把这段代码加到需要的地方就行,比如 single.php 中的 <?php the_title(”); ?> 前。

PS:比较一下方法一和方法二的区别,方法一用到了 hook,也就是钩子,打击面一大片,比如说首页和内页的正文标题处、侧边栏的最新文章、甚至是后台控制板编辑文章的标题前也会自动添加 NEW 小图标;而方法二只是在需要的地方添加。

(资源库 www.zyku.net)

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务