Skip to:
Content
Pages
Categories
Search
Top
Bottom

Code behaving abnormally


  • nayanboost
    Participant

    @nayanboost

    I have written the below script to restrict users to access forums or topics. Here are the conditions:
    1. If user in not logged in will be redirected to “Join” page.
    2. If user is logged in but doesn’t have “pmpro_role_1” role, he will be redirected to “Product Page”.
    3. If a user is the administrator, he can view the page.

    The problem here is for topics in forum it is working except the latest created topic. And it is taking user to “Join” page even if the user is logged in and have the “pmpro_role_1”. What is happening here?

    Please help.

    add_action ('template_redirect', 'forum_security');
    	
    	function forum_security(){
    		$roles = wp_get_current_user()-> roles;
    		if(is_singular( array( 'forum', 'topic' ) )){
    			if(!is_user_logged_in()){
    				wp_redirect('/join');
    				exit;
    			}else{
    				if(current_user_can('administrator')){
    					return;
    				}elseif(!in_array('pmpro_role_1', $roles)){
    					wp_redirect('/product/channel-mcgilchrist');
    				}
    			}
    			
    		}
    	}
Viewing 2 replies - 1 through 2 (of 2 total)

  • nayanboost
    Participant

    @nayanboost

    The code is:

    add_action ('template_redirect', 'forum_security');
    	
    	function forum_security(){
    		$roles = wp_get_current_user()-> roles;
    		if(is_singular( array( 'forum', 'topic' ) )){
    			if(!is_user_logged_in()){
    				wp_redirect('/join');
    				exit;
    			}else{
    				if(current_user_can('administrator')){
    					return;
    				}elseif(!in_array('pmpro_role_1', $roles)){
    					wp_redirect('/product/channel-mcgilchrist');
                                            exit;
    				}
    			}
    			
    		}
    	}
    

    Robin W
    Moderator

    @robin-w

    so what is the url that is not working?

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.
Skip to toolbar