很多站長會在置頂文章或者是24小時內(nèi)最新發(fā)布的文章標題加上相應的圖標,不僅可以增加美觀,也可以提高用戶瀏覽網(wǎng)站的點擊率。今天為大家分享一個WordPress給最新及置頂文章分別添加new和top圖標方法。
新文章圖標方法一:
<?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為你想要的數(shù)值,則超過規(guī)定的時間后圖標就會自動消失。再把 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小時內(nèi)最新’ />’;}
?>
把這段代碼加到需要的地方就行,比如 single.php 中的。
PS:比較一下方法一和方法二的區(qū)別,方法一用到了 hook,也就是鉤子,打擊面一大片,比如說首頁和內(nèi)頁的正文標題處、側(cè)邊欄的最新文章、甚至是后臺控制板編輯文章的標題前也會自動添加 NEW 小圖標;而方法二只是在需要的地方添加。