Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New to the CF scene
    Join Date
    Apr 2013
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Question Setting a cookie on Wordpress site

    Hi all

    I hope this is the right place for this question, since form what little I know, cookies are set using javascript.

    Here's what I'd like to do on my self-hosted Wordpress website.

    1. I'd like to set a cookie when a person visits one particular page on my website, let's call it Page 1.
    2. Then, when that visitor goes to another unrelated page (Page 2), he/she gets automatically redirected to Page 3 (because of the cookie that was set when they visited Page 1). Visitors without the cookie, don't ever get to see Page 3.

    Is this doable?

    Thanks so much.


    Sammie

  • #2
    New Coder
    Join Date
    Feb 2013
    Posts
    38
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Try it and post your code!

  • #3
    New to the CF scene
    Join Date
    Apr 2013
    Posts
    2
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Well OK, after much research and trial and error, here's what I got:


    I put the following code into my functions.php file. Here's what I want:

    1. I want the cookie to be set only when the visitor goes to Post 1.
    2. When someone visits Post 2, if they have the cookie, they get redirected to Post 3. If they don't have the cookie, nothing happens.

    Now it seems to be working, but the problem is sometimes, when the cookie isn't set, I get redirected to Post 3 from the home page :s. I have no idea why.

    I should mention I know nothing about coding. The code below is stuff I got online, mixed and matched it, and did some trial and error with my blog.


    Code:
    function set_newuser_cookie() {
    
    $currentURL = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    
    //THE ABOVE GETS THE CURRENT URL
    
    	if (!isset($_COOKIE['subscriber']) && $currentURL == 'http://mysite.com/post1') {
    		setcookie('subscriber', no, 0, COOKIEPATH, COOKIE_DOMAIN, false);
    
    //THE ABOVE SETS A COOKIE IF IT FINDS THE CURRENT URL IS /POST1
    
    	}
    }
    add_action( 'init', 'set_newuser_cookie');
    
    //I DON'T KNOW WHAT THE ABOVE IS, BUT I HEAR IT'S IMPORTANT
    
    $currentURL = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    
    //THE ABOVE GETS THE URL AGAIN
    
        if (  isset( $_COOKIE["subscriber"] ) &&  $currentURL == 'http://mysite.com/post2' ) :
            header( "Location: http://mysite.com/post3" );
        endif;
    
    //THE ABOVE REDIRECTS THE VISITOR TO POST3 ON 2 CONDITIONS: 1. THAT THE COOKIE IS SET, 2. THAT THE CURRENT URL IS /POST2

    Thanks!!


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •