2 回答
TA贡献1943条经验 获得超7个赞
重定向没有触发的原因是因为您必须在 wp_redirect 之后退出:
见手抄本
function get_page_by_slug( $slug ) {
if( $pages = get_pages() )
foreach( $pages as $page )
if( $slug === $page->post_name ) return true;
return false;
}
function userredirect() {
global $post;
if( $post->ID == 999999 ){ /* change number on this line to the post ID you want to redirect from */
$current_user = wp_get_current_user();
$slug = $current_user->user_login;
if( is_user_logged_in() && is_page('Menu Page') ){
if( get_page_by_slug($slug) ){
wp_redirect('https://example.com/private-page/'.$slug.'/');
exit;
}
}
}
}
add_action( 'init', 'userredirect' );
TA贡献1826条经验 获得超6个赞
is_page('Menu Page') 只有当用户点击该页面时才会给出 true 作为结果。所以如果他在任何其他页面 wp_redirect 函数就不会启动。同样,您可以使用功能包装您的链接:
if get_page_by_path($current_user->user_login) {
#your_link_here
}
所以你的链接只有在页面存在时才可见
- 2 回答
- 0 关注
- 157 浏览
添加回答
举报