当前位置:首页 > 行业动态 > 正文

WordPress 文章/页面添加时间限制,到期后自动重定向到指定网址

如何在WordPress文章/页面添加时间限制,到期后自动重定向到指定网址

在WordPress中为文章或页面设置时间限制并实现到期后自动重定向到指定网址是一个相对高级的功能,这通常需要结合使用WordPress的内置功能和一些代码编辑,以下是详细的步骤和指南来实现这一目标。

第一步:安装必要的插件

1、Redirection: 用于管理301重定向。

2、Advanced Custom Fields (ACF): 用于添加自定义字段,以便我们可以设置到期日期和重定向URL。

安装这些插件后,激活它们。

第二步:创建自定义字段

使用ACF插件,创建一个名为“到期日期”的日期选择字段和一个名为“重定向URL”的文本字段,将这些字段应用到文章类型上。

第三步:编写PHP代码

在主题的functions.php文件中,添加以下代码:

function check_expiry_date() {
    global $post;
    
    // 检查文章是否设置了到期日期
    if ( get_field( '到期日期', $post>ID ) ) {
        $expiry_date = new DateTime( get_field( '到期日期', $post>ID ) );
        $current_date = new DateTime();
        
        // 如果当前日期超过到期日期
        if ( $current_date > $expiry_date ) {
            wp_redirect( get_field( '重定向URL', $post>ID ), 301 );
            exit;
        }
    }
}
add_action( 'template_redirect', 'check_expiry_date' );

这段代码会在每个页面加载之前运行,检查文章或页面是否有一个到期日期,并且这个日期是否已经过去,如果条件满足,它会将用户重定向到指定的URL。

第四步:测试功能

发布一篇文章,设置一个未来的到期日期和重定向URL,等待到期日期到达,然后访问文章以确保它正确地重定向。

第五步:维护和更新

定期检查和维护你的代码和插件,确保它们与WordPress的最新版本兼容。

相关问答FAQs

Q1: 如果我想对所有文章应用相同的重定向URL,而不是每篇文章单独设置,我该怎么做?

A1: 你可以修改上述代码,将get_field( '重定向URL', $post>ID )替换为你想要的统一URL,这样,所有到期的文章都将重定向到同一个地址。

Q2: 如果我在文章发布后更改了到期日期或重定向URL,这些更改会立即生效吗?

A2: 是的,更改会立即生效,因为每次页面加载时,我们的函数都会检查文章的当前到期日期和重定向URL,如果你进行了更改,下次有人(或你)访问该页面时,就会看到这些更改的效果。

通过以上步骤,你可以在WordPress网站上有效地为文章和页面设置时间限制,并在到期后自动将访问者重定向到指定的网址,这不仅增加了网站的动态性,也为内容管理提供了更大的灵活性。

0