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 關注
- 184 瀏覽
添加回答
舉報