Title: Commentcode API
Author: miunosoft
Published: <strong>December 17, 2016</strong>
Last modified: December 21, 2016

---

Search plugins

![](https://ps.w.org/commentcode-api/assets/banner-772x250.jpg?rev=1559034)

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/commentcode-api/assets/icon-256x256.png?rev=1559066)

# Commentcode API

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

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

 * [Details](https://lin.wordpress.org/plugins/commentcode-api/#description)
 * [Reviews](https://lin.wordpress.org/plugins/commentcode-api/#reviews)
 *  [Installation](https://lin.wordpress.org/plugins/commentcode-api/#installation)
 * [Development](https://lin.wordpress.org/plugins/commentcode-api/#developers)

 [Support](https://wordpress.org/support/plugin/commentcode-api/)

## Description

#### Generate Custom Outputs with HTML Comments

Commentcode API lets you generate custom outputs with HTML comment-like codes.

It is similar to the [Shortcode API](https://codex.wordpress.org/Shortcode_API) 
except it takes a form of HTML comments and some few features.

Since it takes a form of HTML comments, even the user disables your plugin, the 
embedded code will not be visible, on contrary to shortcodes that remain in posts
when their plugins are deactivated.

#### Does not leave a mess in posts

Say, you have been using a plugin that converts a plugin specific shortcode into
custom outputs. Later you found something else that is more useful and uninstalled
it.

But the shortcodes used by that plugin remained in hundreds of posts and it was 
too much work to manually delete them so you have to ask somebody to run SQL commands.

That’s a problem. What if the shortcode takes a form of an HTML comment? It won’t
leave such a mess.

#### Syntax

It looks like this.

    ```
    <!--- tag foo="bar" --->



    <!--- tag color="#333" ---><p>Some outputs.</p><!--- /tag --->
    ```

Notice that tripe dashes are used in the both opening and closing part. So it won’t
hardly conflict with generic HTML comments.

#### Supports Multi-dimensional Array Arguments

The shortcode cannot pass multi-dimensional arguments to the callback function.

The below attributes won’t be parsed.

    ```
    [my_shortcode foo[1]="one" foo[2]="two"]
    ```

However, commentcode can handle it.

    ```
    <!---my_shortcode foo[1]="one" foo[2]="two" --->
    ```

The attributes are interpreted as

    ```
    array(
        'foo'   => array(
            1 => 'one',
            2 => 'two',
        )
    )
    ```

#### Preserved Letter Cases

The shortcode does not allow capitalized attribute names.

    ```
    [my_shortcode CapitalName="I need it to be capitalized"]
    ```

The attribute is interpreted as

    ```
    array(
        'capitalname' => 'I need it to be capitalized',
    )
    ```

This is not useful when you need to perform remote API requests which require argument
names with capital letters.

However, the commentcode API preserves those argument names.

    ```
    <!--- my_shortcode CapitalName="Please keep capitalization!" --->
    ```

will be

    ```
    array(
        'CapitalName'   => 'Please keep capitalization!',
    )
    ```

#### Register a Commentcode

Use the `add_commentcode()` function. It accepts two parameters.
 1. (string) the
commentcode tag. 2. (callable) a callback function which gets called when the commentcode
of the specified tag is processed.

The callback function receives three parameters.
 1. (string) The filtered text,
usually an empty string. 2. (array) The attributes set in the commentcode. 3. (string)
The commentcode tag name.

    ```
    function get_my_commentcode( $text, $arguments, $tag ) {
        return "<pre>" . htmlspecialchars( print_r( $arguments, true ) ) . "</pre>";
    }
    add_commentcode( 'my_commentcode', 'get_my_commentcode' );
    ```

For a test, while running the above code, try inserting `<!---my_commentcode Foo
="bar" numbers[ 1 ]="one" numbers[ 2 ]="two"--->` in a post.

It will produce this output,

    ```
    Array
    (
        [Foo] => bar
        [numbers] => Array
            (
                [1] => one
                [2] => two
            )

    )
    ```

## Installation

 1. Upload **`commentcode-api.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.

## FAQ

#### The commentcode inserted in a post does not get converted. What’s the problem?

Double check you insert it in the `View` panel of the editor.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Commentcode API” 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 “Commentcode API” into your language.](https://translate.wordpress.org/projects/wp-plugins/commentcode-api)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Released.

## Meta

 *  Version **1.0.0**
 *  Last updated **9 years ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 3.4 or higher **
 *  Tested up to **4.7.0**
 *  Language
 * [English (US)](https://wordpress.org/plugins/commentcode-api/)
 * Tags
 * [api](https://lin.wordpress.org/plugins/tags/api/)[shortcode](https://lin.wordpress.org/plugins/tags/shortcode/)
 *  [Advanced View](https://lin.wordpress.org/plugins/commentcode-api/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/commentcode-api/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/commentcode-api/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/commentcode-api/)

## Donate

Would you like to support the advancement of this plugin?

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