Plugin Directory

URL Params

Short Code to grab any URL parameter from the Query String and display it or display conditional content.


Use the shortcode urlparam with the optional parameter of "default". For example [urlparam param="FirstName" /] or [urlparam param="FirstName" default="Friend"/].

For conditional content use [ifurlparam][/ifurlparam]. For example, [ifurlparam param="FirstName"]Hey, I know you, [urlparam param="FirstName"]![/ifurlparam] would greet known visitors, but display nothing to users without a FirstName in the query string.

If you want to show content when a value does NOT exist, you can set empty in [ifurlparam]. For example [ifurlparam param="FirstName" empty="1"]Welcome to the site, visitor![/ifurlparam] would greet visitors without a FirstName in the query string, but display nothing for visitors with FirstName in the query string.

If you want to show content only to visitors with a specific value in their query string, you can set is in [ifurlparam]. For example, [ifurlparam param="FirstName" is="Bob"]Hi, Bob![/ifurlparam], would only greet visitors with the FirstName param set to Bob.

If you want to have urlparam return back an HTML attribute, for example to use in pre-setting the value of input or hidden input fields, pass in the optional attr parameter. You might set a value attribute for an input field like so: <input type="text" name="firstname" [urlparam attr="value" param='FirstName']> or you might set a src attribute for an image tag like so: <img [urlparam attr="src" param='imgurl']>

If you want urlparam to return back an entire HTML tag, for example in creating an input field, pass in the optional htmltag parameter. For example, [urlparam htmltag="input" type="text" name="firstname" id="first" attr="value" param="FirstName" default="Bob" /] will produce something like <input type="text" name="firstname" id="first" value="Bob" />


To help protect your site against Reflected Cross Site Scripting, we sanitize output with esc_html() which prevents any HTML tags from being passed in and displayed. This would prevent someone from passing in javascript, for example, and having it execute on your site.

Starting in the WordPress 4.2.3 security auto-update, you can no longer include shortcodes in HTML attributes. Previous to this WordPress update, you could set a field value like this: <input type="text" name="firstname" value="[urlparam param='FirstName']">. Now you have to set it like this: <input type="text" name="firstname" [urlparam attr="value" param='FirstName']> or [urlparam htmltag="input" type="text" name="firstname" attr="value" param="FirstName" /]. If you are still using this shortcode the old way, unfortunately, WordPress simply won't process the shortcode and will return back the full shortcode text unprocessed.

Requires: 2.0.2 or higher
Compatible up to: 4.3.5
Last Updated: 11 months ago
Active Installs: 4,000+


5 out of 5 stars


0 of 3 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1