Title: If Shortcode
Author: geomagas
Published: <strong>2 Наурыз, 2014</strong>
Last modified: 2 Тамыз, 2024

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/if-shortcode.svg)

# If Shortcode

 By [geomagas](https://profiles.wordpress.org/geomagas/)

[Download](https://downloads.wordpress.org/plugin/if-shortcode.0.3.0.zip)

 * [Details](https://kk.wordpress.org/plugins/if-shortcode/#description)
 * [Reviews](https://kk.wordpress.org/plugins/if-shortcode/#reviews)
 *  [Installation](https://kk.wordpress.org/plugins/if-shortcode/#installation)
 * [Development](https://kk.wordpress.org/plugins/if-shortcode/#developers)

 [Support](https://wordpress.org/support/plugin/if-shortcode/)

## Description

This plugin provides an [if] shortcode to conditionally render content. The syntax
is the following:

    ```
    [if condition1 condition2=false condition3]{content}[/if]
    ```

Conditions are passed as attribute names. Multiple conditions evaluate to the result
of ORing all of them. In other words, if at least one condition evaluates to the
desired boolean result, {content} is rendered, otherwise it is discarded.
 Attribute
values determine if we want the condition to be true or false. A value of `'0'`,`'
false'`, `''` (the empty string), `'null'` or `'no'` means we expect the condition
to be false. Anything else, including the absense of a value, is interpreted as 
true.

For example, suppose that we want to include a sentence in a post, but only for 
anonymous visitors:

    ```
    [if is_user_logged_in=no]The Sentence.[/if]
    ```

It also provides an [else] shortcode and an [eitherway] one for use inside [if] 
blocks. [else] will render its content if the condition evaluates to false, and [
eitherway] will render its content regardless of the evaluation result.
 When used
outside an [if] block, these shortcodes behave as if the whole content is surrounded
by an [if] shortcode whose condition evaluates to true. In other words, an [else]
shortcode would not render any content, while a [eitherway] one would. You can use
as many of these shortcodes as you like in a single [if] block, which gives you 
the ability to do things like:

    ```
        - Am I logged in?
        [if is_user_logged_in]- Yes you are.
        [else]- No you are not.
        [/else][eitherway]- I'm sorry, what?
        [/eitherway]- I said YOU A-R-E LOGGED IN!!!
        [else]- YOU ARE NOT LOGGED IN!!! What's the matter with you?[/else][/if]
    ```

A multitude of conditions are supported out-of-the-box. The following evaluate to
the result of the corresponding [WordPress Conditional Tag](https://developer.wordpress.org/themes/basics/conditional-tags/),
using the no-parameter syntax:

    ```
        is_single
        is_singular
        is_page
        is_home
        is_front_page
        is_privacy_policy
        is_attachment
        is_category
        is_tag
        is_tax
        is_author
        is_archive
        is_year
        is_month
        is_date
        is_day
        is_time
        is_feed
        is_search
        is_sticky
        is_preview
        has_term
        has_excerpt
        comments_open
        pings_open
        is_404
        is_user_logged_in
        is_super_admin
        is_multi_author
        is_multisite
        is_main_site
        is_child_theme
    ```

For example, the evaluation of the `is_page` condition is equivalent to calling `
is_page()` with no parameter.

### Extending

The functionality of the plugin can be extended by other plugins, by means of adding
custom conditions through filters. To add a custom condition, a filter hook must
be defined in the following manner:

    ```
    add_filter($if_shortcode_filter_prefix.'my_condition','my_condition_evaluator');

    function my_condition_evaluator($value) {
        $evaluate=.... /* add your evaluation code here */
        return $evaluate;
    }
    ```

Then, you can use your custom condition like so:

    ```
    [if my_condition]{content}[/if]
    ```

A big thanks to M Miller for the [`normalize_empty_atts()`](http://wordpress.stackexchange.com/a/123073/39275)
function.

## Installation

Install the plugin using [the usual method described in the codex](https://wordpress.org/documentation/article/manage-plugins/#installing-plugins-1).

## Reviews

![](https://secure.gravatar.com/avatar/a9ae342bd77a3304012103d22ffefbe1c20dd162c2b3b3e55b101fb328091a21?
s=60&d=retro&r=g)

### 󠀁[Lifesaver](https://wordpress.org/support/topic/lifesaver-17/)󠁿

 [jivyb](https://profiles.wordpress.org/jivyb/) 23 Желтоқсан, 2016

I needed to show a login form only to people not logged in. This little plugin was
perfect! Now I’m getting all kinds of ideas for what I can do with it. Thanks!

![](https://secure.gravatar.com/avatar/f83127a1d6743502aa12fa843bf9ca18326926a3b86a9a85d2e002e3e8256547?
s=60&d=retro&r=g)

### 󠀁[Just what I was looking for!](https://wordpress.org/support/topic/just-what-i-was-looking-for-260/)󠁿

 [McCarthy-Wood](https://profiles.wordpress.org/mccarthy-wood/) 3 сентября, 2016

Simple and clean to use!

![](https://secure.gravatar.com/avatar/adcf81f4f102f58505db81fc841246e3d939ab12ee7ed7ef178ecc061fb73346?
s=60&d=retro&r=g)

### 󠀁[Very easy to use](https://wordpress.org/support/topic/very-easy-to-use-173/)󠁿

 [J. Christopher Guritz](https://profiles.wordpress.org/guritz/) 3 сентября, 2016

If you are wanting to hide or show links or text based upon logged in state, author
or quite a few other «is» conditions this plugin is perfect. Thanks G J

 [ Read all 7 reviews ](https://wordpress.org/support/plugin/if-shortcode/reviews/)

## Contributors & Developers

“If Shortcode” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ geomagas ](https://profiles.wordpress.org/geomagas/)

[Translate “If Shortcode” into your language.](https://translate.wordpress.org/projects/wp-plugins/if-shortcode)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/if-shortcode/), check
out the [SVN repository](https://plugins.svn.wordpress.org/if-shortcode/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/if-shortcode/) by
[RSS](https://plugins.trac.wordpress.org/log/if-shortcode/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.3.0

 * Improvement: Refactored code for PHP 5.4+
 * Addition: Added some more tags

#### 0.2.1

 * Improvement: Removed unnecessary closure from line 87 ([thanks datacate](https://wordpress.org/support/topic/installation-error-84)!)

#### 0.2.0

 * Addition: [else] shortcode
 * Addition: [eitherway] shortcode

#### 0.1.0

 * First release.

## Meta

 *  Version **0.3.0**
 *  Last updated **2 года ago**
 *  Active installations **200+**
 *  WordPress version ** 3.0.1 or higher **
 *  Tested up to **6.6.5**
 *  PHP version ** 5.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/if-shortcode/)
 * Tags
 * [conditional](https://kk.wordpress.org/plugins/tags/conditional/)[conditional-tags](https://kk.wordpress.org/plugins/tags/conditional-tags/)
   [else](https://kk.wordpress.org/plugins/tags/else/)[if](https://kk.wordpress.org/plugins/tags/if/)
   [shortcode](https://kk.wordpress.org/plugins/tags/shortcode/)
 *  [Advanced View](https://kk.wordpress.org/plugins/if-shortcode/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  6 5-star reviews     ](https://wordpress.org/support/plugin/if-shortcode/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/if-shortcode/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/if-shortcode/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/if-shortcode/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/if-shortcode/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/if-shortcode/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/if-shortcode/reviews/)

## Contributors

 *   [ geomagas ](https://profiles.wordpress.org/geomagas/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/if-shortcode/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5SD6XG9JD5TS8)