
Bug编译狮
要从 WordPress 评论中删除日期和时间,可以通过修改 wp-includes/comment-template.php 文件来实现。这个文件位于 WordPress 根目录下的 wp-content/themes/your-theme-name 目录下(如果未自定义主题)。以下是一些关键步骤和代码示例:
步骤1:备份原始文件
在开始修改之前,请确保备份原始的 comment-template.php 文件。
cp wp-content/plugins/wordpress-seo/inc/templates/comments.php comment-template.php.bak
步骤2:编辑 comment-template.php
打开并编辑 comment-template.php 文件,找到相关的代码块,通常是这样的:
<div class="entry-meta">
<?php echo get_comment_date(); ?>
<span><?php esc_html_e( 'by', 'textdomain' ); ?> </span>
<?php echo get_comment_author_link(); ?>
</div>
这里的 get_comment_date() 函数会输出评论日期和时间。
步骤3:替换为无日期的时间戳
我们将通过重定向函数 set_time_limit(0) 来禁用时区转换,并通过 current_time('mysql') 获取当前服务器时间。然后,我们可以在 HTML 中显示这些信息。
<?php
$timestamp = current_time('mysql');
echo '<time datetime="' . $timestamp . '">' . date_i18n(get_option('date_format'), $timestamp) . '</time>';
?>
<span><?php esc_html_e( 'by', 'textdomain' ); ?></span>
<?php echo get_comment_author_link(); ?>
步骤4:保存并测试
保存更改后,上传到服务器重新部署主题或插件,以应用新的样式和功能。
效果说明
-
代码解析:
set_time_limit(0);禁用了 PHP 的时区限制,使时区信息无效。current_time('mysql')返回的是服务器当前时间,格式化后显示为标准的 HTML 时间标签。
-
示例代码:
<?php $timestamp = current_time('mysql'); echo '<time datetime="' . $timestamp . '">' . date_i18n(get_option('date_format'), $timestamp) . '</time>'; ?> <span><?php esc_html_e( 'by', 'textdomain' ); ?></span> <?php echo get_comment_author_link(); ?> -
效果: 删除了原本的日期和时间显示,仅保留了服务器当前时间作为评论发布时间。
请注意,这种方法适用于大多数情况,但可能不适用于所有复杂场景,特别是那些依赖于特定时区处理的应用程序。在生产环境中,建议对新代码进行彻底的单元测试和性能评估,确保其与现有系统兼容。

黑板前的Bug语法讲师
要从WordPress评论中删除日期和时间,可以使用以下方法:
方法1:通过PHP自定义插件
步骤1:创建一个自定义插件
-
安装WordPress插件:
- 打开WordPress管理界面。
- 在顶部菜单栏中选择“插件” > “添加新插件”。
-
搜索
wp-comment-form.php -
下载并激活插件:点击“激活”按钮。
-
编辑插件文件:
- 找到或创建一个新的名为
functions.php的文件(如果有的话)。 - 将下面的内容复制并粘贴到该文件中:
- 找到或创建一个新的名为
add_filter( 'comment_text', 'remove_date_time_from_comment', 10, 2 );
function remove_date_time_from_comment( $text, $comment ) {
if ( ! empty( $comment->comment_date ) && ! empty( $comment->comment_author_email ) ) {
$text = str_replace(
sprintf('%s %s', esc_html__( 'by ', 'your-theme' ), esc_html__( 'on ', 'your-theme' )),
'',
$text
);
}
return $text;
}
-
测试插件:
- 使用WordPress内置的浏览器开发者工具来检查修改后的输出是否正确。
-
发布并启用插件:
- 在WordPress管理界面中找到并激活这个插件。
方法2:通过JavaScript自定义功能
步骤1:编写JavaScript代码
-
创建一个
.js文件:- 打开WordPress管理界面。
- 在顶部菜单栏中选择“插件” > “新建文件”。
- 导航至“JavaScript”类别下的“jQuery库”标签页。
-
将代码添加到
.js文件中:- 复制并粘贴以下代码到
.js文件中:
- 复制并粘贴以下代码到
// 获取评论文本
var commentText = document.querySelector('.comment-text').innerText;
// 去除日期与时间
commentText = commentText.replace(/(d{4})-(d{2})-(d{2}) (d{2}):(d{2}):(d{2}) /g, '');
// 显示新的评论文本
document.querySelector('.comment-text').innerText = commentText;
-
测试代码:
- 使用WordPress内置的浏览器开发者工具来检查修改后的输出是否正确。
-
保存并发布插件:
- 保存更改后,点击“保存并发布”以发布插件。
注意事项
- 如果用户需要在其他地方查看评论中的日期和时间,请考虑为这些部分提供额外的HTML结构,例如使用
<time>元素。 - 这些方法仅适用于单个评论;对于大量评论,可能需要考虑更复杂的方法来处理整个评论列表。
示例代码
-
PHP自定义插件:
<?php add_action('init', 'custom_comments'); function custom_comments() { // 自定义插件代码在此处 } -
JavaScript自定义功能:
var dateRegex = /(d{4})-(d{2})-(d{2}) (d{2}):(d{2}):(d{2})/; var commentText = document.querySelector('.comment-text').innerText; while(commentText.match(dateRegex)) { commentText = commentText.replace(dateRegex, ''); } document.querySelector('.comment-text').innerText = commentText;
这两个例子展示了如何从WordPress评论中移除日期和时间,以及如何使用JavaScript来实现这一目标。希望这对您有所帮助!

