
Bug编译狮
在WordPress中,你可以通过修改模板文件或使用插件来去除URL中的日期部分。以下是两种方法的详细说明和示例代码。
方法一:使用函数去掉URL中的日期
步骤:
- 打开你的WordPress主题目录下的
functions.php文件。 - 在文件中添加以下代码:
function remove_date_from_url() {
add_filter('the_permalink', 'remove_date_from_permalink');
}
add_action('after_setup_theme', 'remove_date_from_url');
function remove_date_from_permalink($permalink) {
$date = get_the_time('U'); // 获取当前时间戳
if (isset($_GET['year']) && isset($_GET['monthnum'])) { // 检查是否有年份和月份参数
$date = $date + strtotime("+" . ($_GET['year'] - 1900) . " years, +" . $_GET['monthnum'] . " months"); // 计算对应日期
}
return str_replace('/' . date('Y/m/d') . '/', '/', $permalink); // 替换掉日期部分
}
- 保存并关闭文件。
效果:
这个方法会在每次访问页面时都会自动去除URL中的日期部分。当用户点击链接跳转到文章详情页时,URL中的日期也会被删除。
方法二:使用插件去掉URL中的日期
步骤:
- 登录WordPress管理后台。
- 进入“插件”菜单。
- 点击“添加新插件”,搜索并安装“Remove Date From Permalink”插件。
- 安装完成后,激活该插件。
- 使用插件设置界面配置选项,通常可以在“自定义标题”字段输入新的URL格式(例如
/post-title),然后点击“应用”。
效果:
启用此插件后,WordPress会自动在URL中去除日期部分。当你创建了一个新帖子,插件会自动更新URL以不包含日期信息。
示例代码说明
get_the_time('U'): 这个函数获取当前时间戳,用于计算特定日期的时间戳。strtotime("+" . ($_GET['year'] - 1900) . " years, +" . $_GET['monthnum'] . " months"): 根据用户提供的年份和月份参数,计算出对应的日期时间戳。str_replace('/' . date('Y/m/d') . '/', '/', $permalink): 将原始的URL替换为不含日期的部分的新URL。
这种方法简单易用,适用于大多数WordPress主题和插件环境。

黑板前的Bug语法讲师
在这个教程中,我将向您展示如何使用WordPress插件或自定义函数来从URL中移除日期部分。
首先,我们需要安装一个名为date剩餘的插件。这个插件可以帮助我们从URL中删除日期和时间信息。
-
安装日期剩餘插件:
在WordPress后台,转到“插件” > “管理” > “搜索并安装插件”。
-
导航至插件列表页面,然后找到“日期剩餘”插件。
-
单击插件图标,然后点击“安装”。
-
安装完成后,登录您的WordPress帐户,转到“插件” > “启用”以激活此插件。
接下来,我们将编写一个简单的PHP函数,用于删除日期和时间从URL中。
示例代码
function remove_date_from_url($url) {
// 使用正则表达式匹配日期字符串
$pattern = '/(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2})(?::(d{2}))?/';
if (preg_match($pattern, $url, $matches)) {
// 删除日期部分
$url = preg_replace('/' . $pattern[0] . '/', '', $url);
return $url;
}
return $url; // 如果没有找到日期,返回原始URL
}
// 示例用法
$url = 'http://example.com/2023-07-15 12:30';
$cleaned_url = remove_date_from_url($url);
echo $cleaned_url; // 输出:http://example.com/2023-07-15 12:30
解释代码
- $pattern:这是一个正则表达式,用于匹配日期和时间字符串。
- preg_match():用于查找匹配模式的字符串。
- preg_replace():用于替换匹配的文本。
- $matches:存储了所有匹配的组(如月份、日期等)。
- remove_date_from_url():处理URL中的日期和时间部分。
这个函数可以轻松地应用于任何需要从URL中移除日期和时间的场景。例如,在博客文章的URL中,我们可以移除日期部分以便只显示正文。
请注意,这种方法可能会导致一些不希望看到的内容出现在URL中,因此在实际应用中应谨慎使用。

