我的用户创建的帖子带有指向未来处于草稿状态的帖子的链接。我们使用Post Name作为永久链接结构。
例如:。
<a href="/future-draft-post">Here is our next fantastic post coming next week!</a>
由于用户已登录,我们的用户单击链接,然后重定向到草稿进行编辑。正常情况下,当未登录用户单击这些链接时,他们会收到一个令人讨厌的404。
我想要的是,未登录的用户可以单击此类链接,并被重定向到一个自定义页面,上面写着“马上就来!”
我该怎么做?
我们还需要另外两个可选功能。
理想情况下,我希望将预定的发布日期传递到“即将到来的页面!(例如,“2016年7月10日即将到来”)
我只希望这种行为适用于特定类别的帖子。其他帖子应该像往常一样重定向到404。
因此,除了检查帖子的状态外,我们还需要一种方法来检查帖子的类别和发布日期,以决定是404还是转到自定义页面。
SO网友:jchwebdev
这是我想到的。似乎在起作用。如果有人提出改进建议,我洗耳恭听:
// Redirect links to future posts to Coming Soon page.
add_action(\'wp\',\'redirect_coming_soon_posts\', 0);
function redirect_coming_soon_posts(){
global $wpdb;
if ($wpdb->last_result[0]->post_status == "future" &&
$wpdb->last_result[0]->post_date_gmt != \'0000-00-00 00:00:00\' &&
! is_admin() ):
session_start();
$_SESSION[\'next_post_id\'] = $wpdb->last_result[0]->ID;
wp_redirect( \'/coming-soon\', 301 );
exit();
endif;
}
function sess_start() {
if (!session_id()) {
session_start();
}
}
add_action(\'init\',\'sess_start\');