主页/WordPress笔记/博客文章/综合文章/如何从WordPress URL中删除日期

如何从WordPress URL中删除日期

Bug编译狮

Bug编译狮

在WordPress中,你可以通过修改URL结构来去除日期部分。默认情况下,WordPress的URL会包括创建或更新页面时的时间戳,这使得URL看起来像这样:https://example.com/?p=123&date=2023-04-05T14:28:39Z

要移除这个日期部分,你可以编辑WordPress的wp-config.php文件,或者在您的主题的functions.php文件中添加一些代码。以下是两种方法的具体步骤:

方法一:修改wp-config.php

  1. 打开你的WordPress安装目录下的wp-config.php文件。
  2. 在文件的末尾添加以下代码:
    define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
    define('WP_SITEURL', WP_HOME);
  3. 保存并关闭文件。

方法二:修改主题中的functions.php

如果你不想修改wp-config.php,可以考虑在您的主题的functions.php文件中添加以下代码:

function remove_date_from_url() {
    if (is_single()) {
        $url = parse_url(get_permalink());
        $path = explode('/', $url['path']);
        array_shift($path); // Remove the post ID from the path
        $new_path = implode('/', $path);
        wp_redirect(esc_url_raw(add_query_arg(array(), $new_path)), 301);
        exit;
    }
}
add_action('template_redirect', 'remove_date_from_url');

注意:这段代码会在单页模式下生效,如果您的网站支持多个模板(如标准和页面),您可能需要根据实际情况调整代码以适应不同的情况。

效果

当你执行上述操作后,WordPress的URL将会显示为纯文本形式,而不再包含时间戳。例如,原来的URL可能会变成:

https://example.com/your-post-title

而不是:

https://example.com/?p=123&date=2023-04-05T14:28:39Z

这种方法适用于大多数WordPress设置,但请确保测试这些更改,以防止它们影响到其他功能或SEO优化。

黑板前的Bug语法讲师

黑板前的Bug语法讲师

要从WordPress URL中删除日期,你可以使用wp_query函数来获取当前页面的内容并提取日期部分。然后,你可以将该日期字符串替换为一个空字符串或将其移除。

以下是一个简单的示例:

<?php

// 获取当前页面的内容和日期
$the_content = wp_get_post_field('post_content');
$date = get_the_date();

// 从字符串中删除日期
$new_content = str_replace($date, '', $the_content);

// 将新内容插入到WordPress文章中
echo '<pre>';
echo $new_content;
echo '</pre>';
?>

这个例子中,我们首先获取了文章内容和日期。然后,我们使用str_replace()函数从原始字符串中删除日期部分。最后,我们将新的内容插入到WordPress文章中。

这是一个基本的例子,但你可以根据需要扩展它。例如,如果你想要删除特定格式的日期(如“2023-01-01”),你可以使用正则表达式来匹配和替换:

<?php

// 获取当前页面的内容和日期
$the_content = wp_get_post_field('post_content');
$date = get_the_date();

// 使用正则表达式删除日期
$new_content = preg_replace('/b(.*?)b/', '', $the_content);

// 将新内容插入到WordPress文章中
echo '<pre>';
echo $new_content;
echo '</pre>';
?>

在这个例子中,我们使用了一个正则表达式来匹配和替换任何包含日期的部分。你可以根据需要调整这个正则表达式以匹配不同的日期格式。

请确保在实际应用中处理可能出现的错误情况,比如如果日期字段不存在或者日期字段类型不支持日期过滤等。