Title: Shortcode Directives
Author: miunosoft
Published: <strong>January 9, 2020</strong>
Last modified: January 9, 2020

---

Search plugins

![](https://ps.w.org/shortcode-directives/assets/banner-772x250.jpg?rev=2224680)

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://ps.w.org/shortcode-directives/assets/icon-256x256.jpg?rev=2224680)

# Shortcode Directives

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

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

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

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

## Description

#### Quickly manage posts/comments in front-end with command-like-shortcodes

Say, you find a comment that should be hidden or deleted on your site. Usually, 
you click on the Edit link of the comment and manage it back-end.

What if you could delete/hide it by commenting on it?

This plugin lets you manage posts and comments with command-like-shortcodes.

In this case, you reply to the _comment_ you want to hide by typing `[$comment hold]`.

#### Bulk actions on certain posts/comments

If you want to bulk-delte comments that belong to a certain post, comment on the
_post_ by typing `[$comment delete]`.

If you have a hierarchical post type and want to add the same tag to all direct 
children of a certain post plus the post itself, then comment on the post by typing`[
$tag mytag --to="siblings,self"]`.

Like this, a bit complex operations can be achived with the shortcode directives.

#### Getting Started

To experience what this plugin does, follow these steps.
 1. After activating the
plugin, pick a test post which has been published already. 2. Go to the page of 
the post in front-end. 3. Submit a comment to the post with the shortcode `[$post_status
private]`.

Now it should be hidden for normal site visitors.

 1. To revert the change, submit a comment to the post with the shortcode `[$post_status
    publish]`.

It should be visible to normal site visitors.

By default, the plugin enables the features for the buil-in `post` and `page` post
types. If you like to support different post types, go to Dashboard -> Tools -> 
Shortcode Directives. There, you can pick which post types to have the ability of
shortcode directives.

For usage details, please see the **Other Notes** seciton.

You should have grapsed the idea of how this plugin works by now. Hope you find 
it useful!

#### Supported Languages

 * English

### Usage

#### $post_status

Sets a specified post status.
 **Format**

    ```
    [$post_status {status}]
    ```

**Examples**
 Changes the post status to `pending`.

    ```
    [$post_status pending]
    ```

Changes the post status to `draft`.

    ```
    [$post_status draft]
    ```

**Option: –to**
 Specifies which post to apply the directive operation. This `--
to` option is avialble for all the directives except `$comment`. Use `children`,`
siblings`, and `descendants` for builk actions. – self (default): the comment/post
iteself. When a comment with a directive is submitted to a post, that post will 
be the subject post and it is considered the one denoted by the option value, `self`.–
parent: the parent post of the subject post. – {post ID}: the post ID. – children:
the direct child posts of the subjec post if the post type supports the `hierarchical`
option. – siblings: the sibling posts of the subject post in hierarchical relationships
if the post type supports the `hierarchical` option. – decendants: all the decendants
which belong to the subject post if the post type supports the `hierarchical` option.

This moves all the descendant posts to trash.

    ```
    [$post_status trash --to=descendants]
    ```

#### $post_parent

Sets a post parent ID.
 **Format**

    ```
    [$post_parent {post ID}]
    ```

Sets a post parent of a post ID of 1451.

    ```
    [$post_parent 1451]
    ```

This removes a post parent.

    ```
    [$post_parent 0]
    ```

**Option: –to**
 The same option values are supported described in the `$post_status`
section above.

#### $post_column

Sets a value with a specified post column name to an existent post column.
 **Format**

    ```
    [$post_column --column={colum name} {value}]
    [$post_column --column={colum name} --value="some value"]
    ```

Setting the value `3` to the `menu_order` column.

    ```
    [$post_column column=menu_order 3]
    ```

When a value must have a white space, use the `--value` option.

    ```
    [$post_column --column=post_title --value="This is a title"]
    ```

**Option: –to**
 The same option values are supported described in the `$post_status`
section above.

#### $post_meta

Sets a post meta value.
 **Format**

    ```
    [$post_meta {key} {value}]
    [$post_meta {key1}="{some value1}" {key2}="{some value2}" {key3}="{some value3}"...]
    ```

This sets the post meta value `bar` to the `_foo` meta key.

    ```
    [$post_meta _foo bar]
    ```

For values containing white-spaces and multiple key-value pairs, use the attribute
style format.

    ```
    [$post_meta _question="Why did the chicken cross the road?" _answer="To get to the other side"]
    ```

To delete meta keys, use the `--action` option by passing `delete`. This deletes
the `_question` and `_answer` meta keys and their values from the database.

    ```
    [$post_meta _question _answer --action="delete"]
    ```

Note: the `--to` and `--action` option names are reserved by the plugin so you cannot
specify them with the option name like `[$post_meta --action="my value" --to="another
value"]`.

If you have to set them, use the command-line style format introduced above.

    ```
    [$post_meta --action "Some value here."]
    [$post_meta --to "Another value here."]
    ```

**Option: –to**
 The same option values are supported described in the `$post_status`
section above.

#### $taxonomy

Sets taxonomy terms with a specified taxonomy slug.
 **Format**

    ```
    [$taxonomy --slug={taxonomy slug} {term1} {term2} {term3}...]
    ```

This adds the `Apple`, `Banana`, `Apple Pie` terms of the `post_tag` taxonomy to
the post.

    ```
    [$taxonomy --slug=post_tag Apple Banana "Apple Pie"]
    ```

**Option: –action**
 – add (default) : adds the specified terms – remove : removes
the specified terms – remove_all/remove_all : removes all the associated terms –
delete : deletes the specified terms from the database if they are assigned to the
post – delete_all/delete-all : deletes all the associated terms from the database

This removes the `Apple`, `Banana`, `Apple Pie` terms of the `post_tag` taxonomy
from the post.

    ```
    [$taxonomy --slug=post_tag Apple Banana "Apple Pie" --action=remove]
    ```

This deletes the `Apple`, `Banana`, `Apple Pie` terms of the `post_tag` taxonomy
from the database if they are assigned to the post.

    ```
    [$taxonomy --slug=post_tag Apple Banana "Apple Pie" --action=delete]
    ```

This removes all the assigned terms of the `post_tag` taxonomy from the post.

    ```
    [$taxonomy --slug=post_tag --action=remove_all]
    ```

This deletes all the assigned terms of the `post_tag` taxonomy from the database.

    ```
    [$taxonomy --slug=post_tag --action=delete_all]
    ```

**Option: –to**
 The same option values are supported described in the `$post_status`
section above.

#### $tag

Sets non-hierarchical taxonomy terms.
 **Format**

    ```
    [$tag {tag1} {tag2} {tag3}...]
    ```

When the `$tag` directive is given, the plugin searches for a non-hierarchical taxonomy
associated with the post type of the post and sets the given terms to the post. 
If a non-hierarchical taxonomy is not found, no action will be taken. If you have
multiple non-hierarchical taxonomies for a particular post type which supports shortcode
directives, use the `$taxonomy` directive. See the `$taxonomy` section above.

This adds the `Apple`, `Banana`, `Apple Pie` tags to the post.

    ```
    [$tag Apple Banana "Apple Pie"]
    ```

**Option: –action**
 The same action values with the `$taxonomy` directive are supported.

This removes the `Apple`, `Banana`, `Apple Pie` tags from the post.

    ```
    [$tag --action=remove Apple Banana "Apple Pie"]
    ```

This deletes the `Apple`, `Banana`, `Apple Pie` terms from the database if they 
are assigned to the post.

    ```
    [$tag --action=delete Apple Banana "Apple Pie"]
    ```

This removes all the tags associated with the post.

    ```
    [$tag --action=remove_all]
    ```

This deletes all the tags associated with the post from the database.

    ```
    [$tag --action=delete_all]
    ```

**Option: –to**
 The same option values are supported described in the `$post_status`
section above.

#### $category

Sets hierarchical taxonomy terms.
 **Format**

    ```
    [$category {category1} {category2} {category3}...]
    ```

When the `$category` directive is given, the plugin searches for a hierarchical 
taxonomy associated with the post type of the post and sets the given terms to the
post. If a hierarchical taxonomy is not found, no action will be taken. If you have
multiple hierarchical taxonomies for a particular post type which supports shortcode
directives, use the `$taxonomy` directive. See the `$taxonomy` section above.

This adds the `Apple`, `Banana`, `Apple Pie` categories to the post.

    ```
    [$category Apple Banana "Apple Pie"]
    ```

This removes the `Apple`, `Banana`, `Apple Pie` categories from the post.

    ```
    [$category Apple Banana "Apple Pie" --action=remove]
    ```

This deletes the `Apple`, `Banana`, `Apple Pie` categories from the database if 
they are assigned to the post.

    ```
    [$category --action=delete Apple Banana "Apple Pie"]
    ```

This removes all the categories associated with the post.

    ```
    [$category --action=remove_all]
    ```

This deletes all the categories associated with the post from the database.

    ```
    [$category --action=delete_all]
    ```

**Option: –action**
 The same action values with the `$taxonomy` directive are supported.

**Option: –to**
 The same option values are supported described in the `$post_status`
section above.

$comment

Performs certain actions againt a replying comment. If commented on a post, the 
action applied to _all_ the comments which belong to the post. So be careful not
to do that when you want to do someting on a single comment.

**Format**

    ```
    [$comment {sub-command}]
    ```

**Sub-commands**
 – delete|remove: deletes the comment – hold|disapprove: changes
the comment status to `hold`. – trash: moves the comment to trash – spam: mark the
commet as spam – convert: converts the comment to a child post.

Replying to an existent comment with the following deletes the comment.

    ```
    [$comment delete]
    ```

For hierarchical post types, the `convert` sub-command can help bulk-convert comments
in to posts.

Commenting on a _post_ (not an existent comment) converts all the comments belonging
to the post into posts by keeping the hirarchical relationships.

    ```
    [$comment convert]
    ```

## Screenshots

 * [[
 * **Some Image**
 * [[
 * **Another Image**

## Installation

 1. Upload **`shortcode-directives.php`** and other files compressed in the zip folder
    to the **`/wp-content/plugins/`** directory.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Go to **Dashboard** -> **Tools** -> **Shortcode Directives**.
 4. Configure the options by enabling post types to support.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ miunosoft ](https://profiles.wordpress.org/miunosoft/)
 *   [ Michael Uno ](https://profiles.wordpress.org/michael-uno/)

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

### Interested in development?

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

## Changelog

#### 1.0.0

 * Released.

## Meta

 *  Version **1.0.0**
 *  Last updated **6 years ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 4.5 or higher **
 *  Tested up to **5.3.21**
 *  PHP version ** 5.2.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/shortcode-directives/)
 * Tags
 * [command](https://pcd.wordpress.org/plugins/tags/command/)[commands](https://pcd.wordpress.org/plugins/tags/commands/)
   [comments](https://pcd.wordpress.org/plugins/tags/comments/)[posts](https://pcd.wordpress.org/plugins/tags/posts/)
   [shortcode](https://pcd.wordpress.org/plugins/tags/shortcode/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/shortcode-directives/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ miunosoft ](https://profiles.wordpress.org/miunosoft/)
 *   [ Michael Uno ](https://profiles.wordpress.org/michael-uno/)

## Support

Got something to say? Need help?

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

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://en.michaeluno.jp/donate)