Inhaltsverzeichnis
优化WordPress中文章与评论的时间显示,wordpress评论
您可能感兴趣的文章:
Heim php教程 php手册 优化WordPress中文章与评论的时间显示,wordpress评论

优化WordPress中文章与评论的时间显示,wordpress评论

Jun 13, 2016 am 08:47 AM
wordpress 搜索引擎优化 时间

优化WordPress中文章与评论的时间显示,wordpress评论

很多博客都喜欢用 评论发表于 “XXX 分钟 之前”、文章发表于 “XXX 分钟 之前”来显示文章评论的时间,改善的时间显示方式不仅能很直观的告诉读者这篇文章或评论发表距今已有多长时间,更能增强评论回复的时间感,哥很喜欢,因为前一阵子压在手里的东西太多了,工作日白天又苦于不能上网,所以主题的样式及功能部分一点一点的写拖了好长时间,最近这阵子刚好轮到折腾评论了,所以就逐步参照网上流行的样式一点一点的修改起来自己的评论样式和功能。

So…..
Go…..
交道麻袋…..评论日期和文章日期调用函数不同,下面以评论日期为例,文章日期请自行调整。

改善的时间显示方式的原理
很简单,就是通过 WordPress 的一个内置的函数处理现在的时间和文章、评论发表的时间差,显示距今有X分钟、X小时、X天。
这个函数就是 human_time_diff ()

用法:

 <&#63;php human_time_diff( $from, $to ) ;&#63;>

Nach dem Login kopieren

说明:
判断两个时间标记的差异。
以人类可阅读的格式,如“1小时”、“5分钟”、“两天”,返回$from和$to 两个时间变量的时间差。

从英文上也很好理解:from 到 to 嘛。(这句是很废吧,哈哈。)

雏形版改善实现

 //将你的评论时间显示的函数改成如下就可以了
<&#63;php echo human_time_diff( get_comment_time('U') , current_time('timestamp')) ;&#63;>

Nach dem Login kopieren

所有的日期都计算时间差,很暴力吧?

初级版的实现办法
简单的加一个判断,如果评论时间没有超过一天则显示XX小时之前,如果超过一天则显示原始日期。
这样比较人性化吧?总不能让读者总掰着指头算38天之前是什么日子吧?哈哈!
代码:

 <&#63;php 
//计算是否超过一天 注:86400是一天的总共的秒数 60秒X60分X24小时=86400秒
//如果觉得一天不够的话,请自行计算填上。
if (current_time('timestamp') - get_comment_time('U') < 86400 )
//一天之内显示的东西
{$cmt_time = human_time_diff( get_comment_time('U') , current_time('timestamp') ) . '-ago';}
//超过一天这么显示
else{$cmt_time = get_comment_date( 'Y/n/j' ).' - '.get_comment_time('','',false);};
 ;&#63;>


 //将你的评论时间显示的函数改成如下就可以了
<&#63;php echo $cmt_time ;&#63;>

Nach dem Login kopieren

增强版
那么我们能不能再增强一下呢?
为什么增强?
好吧,因为我这个人比较较真,觉得中文显示日期不好看,影响到我的排版,喜欢英文显示日期,而中文版的 WordPress 汉化的真的是没有死角(汉化的真仔细),如果我们直接用 human_time_diff 函数输出的话,中文版的 WordPress 会将结果全部汉化显示XX小时XX天之前,这样很有可能会影响我们的排版,而且这个 human_time_diff 函数里既没有留钩子,也没有预留一个不汉化的参数,所以我们想要显示英文的话,只有两个办法:

直接修改 human_time_diff 函数,让汉化失效,这样做太暴力,而且以后升级了还要再进去改,伦家不喜欢。
重写一个自己的 human_time_diff 函数,绕过汉化。
function.php 里面强力插入如下代码:

 //原函数的 day hour min 都是小写的,
//我把这三个词的首写字母改成大写的,即Day Hour Min 就可以避开汉化了,你懂?
if ( ! function_exists( 'xz_time_diff' ) ) :
function xz_time_diff( $from, $to = '' ) {
 if ( empty($to) )
 $to = time();
 $diff = (int) abs($to - $from);
 if ($diff <= 3600) {
 $mins = round($diff / 60);
 if ($mins <= 1) {
  $mins = 1;
 }
 /* translators: min=minute */
 $since = sprintf(_n('%s Min', '%s Mins', $mins), $mins);
 } else if (($diff <= 86400) && ($diff > 3600)) {
 $hours = round($diff / 3600);
 if ($hours <= 1) {
  $hours = 1;
 }
 $since = sprintf(_n('%s Hour', '%s Hours', $hours), $hours);
 } elseif ($diff >= 86400) {
 $days = round($diff / 86400);
 if ($days <= 1) {
  $days = 1;
 }
 $since = sprintf(_n('%s Day', '%s Days', $days), $days);
 }
 return $since;
}endif;

Nach dem Login kopieren

时间判断代码改为如下:

 <&#63;php 
//只是把计算日期差异的函数名变了而已,其他同上。
if (current_time('timestamp') - get_comment_time('U') < 86400 )
{$cmt_time = xz_time_diff( get_comment_time('U') , current_time('timestamp') ) . '-ago';}
else{$cmt_time = get_comment_date( 'Y/n/j' ).' - '.get_comment_time('','',false);};
 ;&#63;>


 //将你的评论时间显示的函数改成如下就可以了
<&#63;php echo $cmt_time ;&#63;>

Nach dem Login kopieren

显示评论、文章相对时间

根据上面的版本、下面的这个应该算是增强改进版吧,因为要达到效果还是需要在主题里添加代码,所以还没到终极版,哈哈。
函数代码如下:

相对时间函数

if ( ! function_exists( 'xz_time' ) ) :
/**
 * 显示文章、评论相对时间的封装函数.
 *作者:XiangZi http://PangBu.com/
 * @param $type 类型字符串 'cmt'或'art',用于定义显示的是评论时间还是文章时间。
 * @param $ago_time 数字类型 用于定义显示相对时间的时间限制 默认为86400秒即一天。
 * @param $after 字符串型 显示在相对时间之后的文字,默认为 ' - ago'
 * @param $late 字符串型 超过时间限制后显示的项目,默认为 get_the_time('Y/n/j - H:i')或get_comment_time('Y/n/j - H:i')
 * @return 返回字符串(相对时间或绝对时间)
*/
function xz_time ( $type = 'art', $ago_time = 86400 ,$after = ' - ago' , $late = '' ) {
  if ( $type === 'cmt' ){
    $diff = (int) abs( get_comment_time('U') - current_time('timestamp'));
      if ( (!$late) || $late ==''){ $late = get_comment_time('Y/n/j - H:i');};
  }
  if ( $type === 'art' ){
    $diff = (int) abs( get_the_time('U') - current_time('timestamp'));
    if ( (!$late) || $late ==''){$late = get_the_time('Y/n/j - H:i');};
  }
  if ( $diff <= 3600 ) {
    $mins = round($diff / 60);
    if ($mins <= 1) {
      $mins = 1;
    }
    /* translators: min=minute */
    $since = sprintf(_n('%s Min', '%s Mins', $mins), $mins);
  } else if (($diff <= 86400) && ($diff > 3600)) {
    $hours = round($diff / 3600);
    if ($hours <= 1) {
      $hours = 1;
    }
    $since = sprintf(_n('%s Hour', '%s Hours', $hours), $hours);
  } elseif ($diff >= 86400) {
    $days = round($diff / 86400);
    if ($days <= 1) {
      $days = 1;
    }
    $since = sprintf(_n('%s Day', '%s Days', $days), $days);
  };
  $since .= $after ; 
  return $diff < $ago_time &#63; $since : $late ;
}endif;
Nach dem Login kopieren

使用方法
将上述代码插入到你主题的function.php文件中
然后在你想显示相对时间的地方调用该函数即可。
函数最少输入设定一个参数 即$type 类型字符串 ‘cmt'(评论时间)或'art'(文章时间)
示例:

 //最简单的调用
echo xz_time('cmt');
//一天内的输出结果: 3 Hours-ago 
//一天后的输出结果: 2015/12/26 - 20:01
 
 
//调用时长为2天内的相对时间,之前时间显示默认时间
echo xz_time('cmt',172800);
//2天内的输出结果: 3 Hours-ago 
//2天后的输出结果: 2015/12/26 - 20:01
 
 
//调用时长为2天内的相对时间,相对时间之后显示 '之前的评论'
echo xz_time('cmt',172800,'之前的评论');
//2天内的输出结果: 3 Hours 之前的评论 
//2天后的输出结果: 2015/12/26 - 20:01
 
//调用时长为2天内的相对时间,之前时间显示为 年-月-日
echo xz_time('cmt',172800,'之前的评论',get_comment_time('Y-n-j'));
//2天内的输出结果: 3 Hours 之前的评论 
//2天后的输出结果: 2015/12/26

Nach dem Login kopieren

您可能感兴趣的文章:

  • WordPress中利用AJAX技术进行评论提交的实现示例
  • WordPress中利用AJAX异步获取评论用户头像的方法
  • 详解WordPress中调用评论模板和循环输出评论的PHP函数
  • WordPress中限制非管理员用户在文章后只能评论一次
  • 讲解WordPress中用于获取评论模板和搜索表单的PHP函数
  • 解决WordPress使用CDN后博文无法评论的错误
  • 利用jQuery实现WordPress中@的ID悬浮显示评论内容
  • 编写PHP脚本来实现WordPress中评论分页的功能
  • 修改PHP脚本使WordPress拦截垃圾评论的方法示例
  • 在WordPress中实现评论头像的自定义默认和延迟加载
  • WordPress中对访客评论功能的一些优化方法
  • WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP vs. Flutter: Die beste Wahl für die mobile Entwicklung PHP vs. Flutter: Die beste Wahl für die mobile Entwicklung May 06, 2024 pm 10:45 PM

PHP und Flutter sind beliebte Technologien für die mobile Entwicklung. Flutter zeichnet sich durch plattformübergreifende Funktionen, Leistung und Benutzeroberfläche aus und eignet sich für Anwendungen, die eine hohe Leistung, plattformübergreifende und benutzerdefinierte Benutzeroberfläche erfordern. PHP eignet sich für serverseitige Anwendungen mit geringerer Leistung und nicht plattformübergreifend.

In welchem ​​Ordner liegen WordPress-Artikel? In welchem ​​Ordner liegen WordPress-Artikel? Apr 16, 2024 am 10:29 AM

WordPress-Beiträge werden im Ordner /wp-content/uploads gespeichert. Dieser Ordner verwendet Unterordner, um verschiedene Arten von Uploads zu kategorisieren, einschließlich Artikeln, die nach Jahr, Monat und Artikel-ID geordnet sind. Artikeldateien werden im Nur-Text-Format (.txt) gespeichert und der Dateiname enthält normalerweise seine ID und seinen Titel.

Wo ist die WordPress-Vorlagendatei? Wo ist die WordPress-Vorlagendatei? Apr 16, 2024 am 11:00 AM

WordPress-Vorlagendateien befinden sich im Verzeichnis /wp-content/themes/[Themenname]/. Sie werden verwendet, um das Erscheinungsbild und die Funktionalität der Website zu bestimmen, einschließlich Kopfzeile (header.php), Fußzeile (footer.php), Hauptvorlage (index.php), einzelner Artikel (single.php), Seite (page.php). , Archiv (archive.php), Kategorie (category.php), Tag (tag.php), Suche (search.php) und 404-Fehlerseite (404.php). Durch Bearbeiten und Modifizieren dieser Dateien können Sie das Erscheinungsbild Ihrer WordPress-Website anpassen

Welche WordPress-Version ist stabil? Welche WordPress-Version ist stabil? Apr 16, 2024 am 10:54 AM

Die stabilste WordPress-Version ist die neueste Version, da sie die neuesten Sicherheitspatches und Leistungsverbesserungen enthält und neue Funktionen und Verbesserungen einführt. Um auf die neueste Version zu aktualisieren, melden Sie sich bei Ihrem WordPress-Dashboard an, gehen Sie zur Seite „Updates“ und klicken Sie auf „Jetzt aktualisieren“.

Muss WordPress registriert werden? Muss WordPress registriert werden? Apr 16, 2024 pm 12:07 PM

WordPress erfordert eine Registrierung. Gemäß den „Internet Security Management Measures“ meines Landes müssen Websites, die Internet-Informationsdienste innerhalb des Landes anbieten, beim örtlichen Internet-Informationsbüro der Provinz registriert werden, einschließlich WordPress. Der Registrierungsprozess umfasst Schritte wie die Auswahl eines Dienstleisters, die Vorbereitung von Informationen, die Einreichung eines Antrags, die Prüfung und Veröffentlichung sowie den Erhalt einer Registrierungsnummer. Zu den Vorteilen der Einreichung gehören die Einhaltung gesetzlicher Vorschriften, die Verbesserung der Glaubwürdigkeit, die Erfüllung von Zugangsvoraussetzungen, die Gewährleistung eines normalen Zugangs usw. Die Anmeldeinformationen müssen wahr und gültig sein und nach der Einreichung regelmäßig aktualisiert werden.

So löschen Sie eine Theme-Vorlage in WordPress So löschen Sie eine Theme-Vorlage in WordPress Apr 16, 2024 am 02:36 AM

Um eine WordPress-Theme-Vorlage zu löschen, melden Sie sich zunächst bei Ihrem Dashboard an, gehen Sie dann zu Erscheinungsbild > Theme-Editor, wählen Sie das Theme aus, das Sie löschen möchten, klicken Sie auf Löschen und bestätigen Sie und aktivieren Sie optional das neue Theme.

Was ist ein Self-Media-Konto? Wie sorgt man dafür, dass Self-Media-Konten einen hohen Traffic haben? Was ist ein Self-Media-Konto? Wie sorgt man dafür, dass Self-Media-Konten einen hohen Traffic haben? Apr 29, 2024 am 09:34 AM

Im digitalen Zeitalter ist die Self-Media-Branche rasant gewachsen und hat sich zu einem wichtigen Kanal für Menschen entwickelt, um Informationen zu erhalten und Meinungen auszutauschen. Self-Media-Konten sind die Grundlage der Self-Media-Branche. Viele Menschen interessieren sich für das Konzept von Self-Media-Konten und ihre Funktionsweise. In diesem Artikel wird eine Diskussion über Self-Media-Konten eingeleitet und die Definition von Self-Media-Konten sowie die Vorgehensweise zur Steigerung des Traffics von Self-Media-Konten im Detail vorgestellt. 1. Was ist ein Self-Media-Konto? Wir-Medien-Konten beziehen sich auf Konten auf großen Self-Media-Plattformen, auf denen Einzelpersonen oder Institutionen mit Benutzern interagieren und Informationen verbreiten, indem sie Inhalte erstellen und veröffentlichen. We-Media-Konten können verschiedene Formen von Inhalten wie Artikel, Bilder und Videos veröffentlichen und dabei mehrere Bereiche wie Leben, Unterhaltung, Technologie und Bildung abdecken. Betreiber von Self-Media-Konten ziehen Fans durch hochwertige Inhalte an, um Informationsverbreitung, Markenförderung und andere Ziele zu erreichen.

Was ist die WordPress-Artikeldatenbank? Was ist die WordPress-Artikeldatenbank? Apr 16, 2024 am 11:12 AM

WordPress verwendet MySQL als Artikeldatenbank. Zu seinen Hauptfunktionen gehört das Speichern von Artikeln, Kommentaren, Benutzern und Website-Konfigurationsdaten. Die Datentabellen umfassen: wp_posts (Artikel), wp_postmeta (Metadaten), wp_comments (Kommentare), wp_commentmeta (Kommentarmetadaten), wp_users (Benutzer). Auf die Datenbank kann über phpMyAdmin oder die Befehlszeile zugegriffen und sie verwaltet werden. Es ist wichtig, die Datenbank regelmäßig zu sichern, um Datenverlust zu verhindern.

See all articles