[if] Shortcode Pro

Starting Price: $29.00


Download 30-Day Free Trial

Turn ordinary WordPress Posts/Pages into a dynamic masterpiece by harnessing the power of conditional expressions. The `` shortcode allows you to change what is displayed to any given user based on a multitude of factors. e.g., Is a user logged in? Are they a customer? What have they bought? ... and many more. With this plugin you can easily enhance your site and impress visitors using content that changes based on the scenario.


Earn up to 434 Points.

Built by Jason Caldwell
SKU: if-shortcode-pro Category: Tags: , , ,


The [if /] Shortcode can be used in many different ways. Below you will find documentation for all of the Shortcode Attributes that are currently supported, along with a few examples of their use. More examples can be found throughout our knowledge base.

Quick Example

[if current_user_can="access_pkg_elite"]
    You can access the Elite Restriction package.
        Access denied.

Shortcode Attributes

Shortcode Modifier Attributes

Other Special Features

Open in New TabProduct Knowledge Base

Additional DetailsSystem Requirements

This product installs just like any other theme/plugin for WordPress. Like most of our products, it also installs the WP Sharks Core™ framework when you activate it. Our framework satisfies nearly all dependencies for you. However, you do need a shared hosting provider (we recommend the MediaTemple Grid), a VPS, or dedicated server.

WP Sharks Core Requirements

Processor 64-bit processor (or better)
PHP v7.0.4 (or higher); tested up to 7.1.3
WordPress v4.7 (or higher); tested up to 4.8-alpha

Open in New TabProduct Changelog


  • Adding support for _no_cache attribute.
  • Adding support for ua_is_engine="true|false" attribute.
  • Adding support for ua_is_bot="true|false" attribute.
  • Bumping minimum required WordPress version to v4.6.
  • Bumping minimum required version of the WP Sharks Core.
  • Adding support for wp-markdown-extra filter configuration.
  • Removing unnecessary nested shortcode callback handler. Starting with WP 4.6 the new WP_Hook class addresses the underlying problem this was solving. See Issue #1.
  • Enhancing security be removing basename(__FILE__) from direct access notices.
  • Removing unnecessary lite build variation from .build.props file.
  • Cleaned up the options page just a bit and corrected some typos.
  • Automatically strip leading indents for improved compatibility with Markdown parsers like Jetpack and WP Markdown Extra Pro, etc.


  • New attribute: request_var="{key|expr}". See KB Article.


  • Enhancing options page.
  • Updating to latest WP Sharks Core.
  • Enhancing docBlocks throughout source code.
  • A little refactoring to simplify menu pages.
  • Tested against WordPress v4.6 for compatibility.


  • Enhancing options page.
  • Adding ‘Restore Default Options’ tab.


  • Enhancing menu page. Improving inline documentation.
  • Updating to the latest WP Sharks Core library.


  • Bug fix. Improve filter-state backup handler.
  • Bug fix. Improve nested if block-level enforcement handler. Account for ^ in regex.


  • Enhancing support for nested [_if] tags by improving compatibility with wpautop().
  • Optimizing hook priorities for improved compatibility with a variety of other plugins for WordPress.


  • Making it possible to customize filters (via options page) that are applied to content inside [if] shortcodes.
  • Adding support for Jetpack Markdown inside [if][/if] conditionals.
  • Bumping minimum required WP Sharks Core to v160720.50843.
  • Now applying the_content filter recursively, to content inside conditionals.
  • Integrating a filter backup-state handler to avoid problems with inner content filters.
  • Moving many parts of this plugin to the wp_loaded hook with a late priority, as a way to further optimize it.


  • Updating to latest release of WP Sharks Core.
  • Fixed bug in current_user_can_download="" and current_user_bought_product="" attributes that was triggering syntax errors in some rare scenarios.
  • Fixed bug that was causing an E_NOTICE level warning about $limit.
  • Fixed bug causing a PHP warning in some scenarios related to s::setTransient().
  • Fixed bug that was causing current_user_can_download="" to fail when checking for a download sold by a product variation.


  • Deepening WooCommerce integration. New attribute current_user_can_download="".
  • Updating inline documentation. References to debug="" should be _debug="".
  • Updating inline documentation. References to for_blog="" should be _for_blog="".


  • Adding options page with general settings.
  • Improving colored error output when debug="true".


  • Updating to latest websharks/core with Simple Expression bug fixes that improve this plugin.


  • Bug fix. Loose types for onShortcode() handler.


  • Updating to the latest WP Sharks Core.
  • Taking advantage of recent improvements in core that further optimize this plugin.


  • Updating to latest WPSC and websharks/core.
  • Refactor. Now using Simple Expression syntax from websharks/core.
  • Adding support for a new _debug="" attribute.
  • Adding support for arbitrary attributes.


  • Updating to latest phings build system.
  • Fixing bug in initial release related to a corrupt build.


  • Initial release.

Open in New TabProduct Release Archive

Latest Stable Release

We strongly suggest that you always run the latest stable release.

April 13th, 2017@ 8:38 pm UTC (stable)v170413.74328.zip (91.41 kbs)

Latest Bleeding Edge

Please be warned. This is beta quality. It may contain bugs or even bring down your site.

July 27th, 2017@ 9:10 am UTC (unstable)bleeding-edge.zip

Historical Release Archive

If you're having trouble with the latest stable release, you can revert back to a previous release.

September 19th, 2016@ 5:13 am UTC (stable)v160919.18816.zip (101.63 kbs)
July 31st, 2016@ 10:29 am UTC (stable)v160731.37774.zip (98.64 kbs)
July 24th, 2016@ 6:03 pm UTC (stable)v160724.64997.zip (97.85 kbs)
July 24th, 2016@ 12:30 am UTC (stable)v160724.1849.zip (97.73 kbs)
July 22nd, 2016@ 3:57 pm UTC (stable)v160722.57445.zip (97.35 kbs)
July 22nd, 2016@ 12:34 pm UTC (stable)v160722.45266.zip (96.81 kbs)
July 21st, 2016@ 5:16 pm UTC (stable)v160721.62161.zip (96.31 kbs)
July 21st, 2016@ 4:25 pm UTC (stable)v160721.59154.zip (96.31 kbs)
July 20th, 2016@ 10:45 am UTC (stable)v160720.38716.zip (92.87 kbs)
July 20th, 2016@ 6:39 am UTC (stable)v160720.23954.zip (92.26 kbs)
July 20th, 2016@ 6:32 am UTC (stable)v160720.23552.zip (92.39 kbs)
July 18th, 2016@ 4:34 pm UTC (stable)v160718.59682.zip (91.59 kbs)
July 15th, 2016@ 8:50 am UTC (stable)v160715.31825.zip (88.37 kbs)
July 14th, 2016@ 11:32 am UTC (stable)v160714.41537.zip (88.34 kbs)
July 13th, 2016@ 11:30 am UTC (stable)v160713.41453.zip (88.27 kbs)
July 9th, 2016@ 10:56 am UTC (stable)v160709.39379.zip (87.33 kbs)
July 7th, 2016@ 12:42 am UTC (stable)v160707.2545.zip (82.8 kbs)
July 7th, 2016@ 12:07 am UTC (stable)v160707.450.zip (85 kbs)

Product Enquiry