WordPress function to list site cookies

Having recently reviewed the WordPress plugins that are available to assist with the current cookie legislation I was dismayed to find a lack of anything simple that would be list out the shortcodes on a site, yet provide some flexibility.

So, I’ve written something.

Add the code below to the functions.php file in your theme folder and then use the following shortcode in a post or page…

[cookies]

Simple, eh? This will list all the site’s cookies along with their values. Two further options are available…

[cookies novalue]

This will now output the cookie values.

[cookies] ==> [/cookies]

By providing a value between opening and closing shortcodes you can override the text that is used to separate the cookie name and the value.

Posted by David Artiss

Enterprise Happiness Engineer for the WordPress VIP team at Automattic. Gamer, film lover and general fan of all things Marvel, Star Trek and Star Wars. Failed comedian. Writer for The Big Tech Question. World's Greatest Grandma.

4 Replies to “WordPress function to list site cookies”

  1. Thank you, David!

    That’s exactly what I was looking for.

    Reply

  2. Thank you, you are a star. Was looking for exactly this and could not find it anywhere.

    Reply

  3. Hello, I’ve tried the script but it shows only 3 cookies of the 8 (I’m logged in)

    Reply

  4. […] none of them take your fancy I’ve written my own script which you can add to your own site for […]

    Reply

  5. Thanks – some re-coding to sort out a small bug

    /**
    * Display a list of cookies on WordPress
    *
    * @param string $atts – attributes
    * @param string $content
    * @return string
    */
    function get_cookies( $atts = ”, $content = ” ) {
    $atts = shortcode_atts(
    array(
    ‘novalue’ => 0, //0 – false, 1 – true
    ‘separator’ => ‘ : ‘
    ),
    $atts
    );
    $cookie = $_COOKIE;
    ksort( $cookie );
    $out = ”;
    foreach ( $cookie as $key => $val ) {
    $out .= ” . $key;
    $out .= !$atts[‘novalue’]? $atts[‘separator’] . $val: ”;
    $out .= ”;
    }
    $out .= ”;
    return $out;
    }
    add_shortcode( ‘cookies’, ‘get_cookies’ );

    Reply

Talk to me!

This site uses Akismet to reduce spam. Learn how your comment data is processed.