Title: Image Shortcake
Author: Daniel Bachhuber
Published: <strong>2015 年 5 月 20 日</strong>
Last modified: 2015 年 8 月 27 日

---

搜尋外掛

這個外掛**並未在最新的 3 個 WordPress 主要版本上進行測試**。開發者可能不再對這個
外掛進行維護或提供技術支援，並可能會與更新版本的 WordPress 產生使用上的相容性問題。

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

# Image Shortcake

 由 [Daniel Bachhuber](https://profiles.wordpress.org/danielbachhuber/) 開發

[下載](https://downloads.wordpress.org/plugin/image-shortcake.0.1.0.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/image-shortcake/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/image-shortcake/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/image-shortcake/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/image-shortcake/#developers)

 [技術支援](https://wordpress.org/support/plugin/image-shortcake/)

## 外掛說明

When images are inserted into posts from the media library or media uploader, only
the html of the `<img>` tag and the link around it (if any) are preserved. This 
means that themes which want to change the way images are marked up in content don’t
have an easy way of doing this.

Image Shortcake is an attempt to solve this problem, by saving images in post content
as _shortcodes_ rather than HTML. The output of shortcodes can be easily filtered
in themes, plugins and templates, and since the original attachment data is preseved
as attributes on the shortcode, it becomes much easier for modify the way images
are marked up in themes.

For best results, use this with the [Shortcake (Shortcode UI)](https://github.com/fusioneng/Shortcake)
plugin. Shortcake offers an easy to use interface to manage shortcodes in post content.

What could you use this for? Well, at [Fusion](http://fusion.net) we use this shortcode
for:

 * **Responsive Images**. By filtering the output of the `[img]` shortcode image
   tag, we’re able to insert the `srcset` attribute, so that all of
    the images 
   on our site are served responsively to browsers that support that.
 * **Inline sharing buttons**. We’ve added share links to each of the images on 
   our site. Because these are inserted through a filter on a shortcode and not 
   in the post content, it’s easy to modify them on the fly. And having this logic
   in template files rather in on-page javascript that runs after page load makes
   it quicker for users.
 * **Photo credits**. We’ve added “credit” as an image meta field, and we use a 
   filter on ‘img_shortcode_output_after_linkify’ to display it on all images.

See the [Installation](https://tw.wordpress.org/plugins/image-shortcake/?output_format=md#Installation)
section for more ideas and tips for custom image templates. [Get involved with the project](https://github.com/fusioneng/image-shortcake)
on Github.

## 螢幕擷圖

[⌊This is the shortcode UI form as accessed from Insert Media > Insert Post Element.(
Note that you can also insert images as usual, by inserting them in the Media Library-
they will be transparently converted into shortcodes behind the scenes for you.)⌉⌊
This is the shortcode UI form as accessed from Insert Media > Insert Post Element.(
Note that you can also insert images as usual, by inserting them in the Media Library-
they will be transparently converted into shortcodes behind the scenes for you.)⌉[

This is the shortcode UI form as accessed from **Insert Media > Insert Post Element**.(
Note that you can also insert images as usual, by inserting them in the Media Library–
they will be transparently converted into shortcodes behind the scenes for you.)

[⌊Once inserted into a post, the image preview renders in the editor just as it 
normally would. The Shortcake plugin's edit/delete buttons are available to modify
the shortcode through the provided UI.⌉⌊Once inserted into a post, the image preview
renders in the editor just as it normally would. The Shortcake plugin's edit/delete
buttons are available to modify the shortcode through the provided UI.⌉[

Once inserted into a post, the image preview renders in the editor just as it normally
would. The Shortcake plugin’s edit/delete buttons are available to modify the shortcode
through the provided UI.

## 安裝方式

#### Customizing Output

The whole point of using shortcodes rather than HTML tags for images is that you
can customize the markup of images in your theme. This plugin offers three primary
hooks to modify the output:

 * `img_shortcode_output_img_tag`: Filters the output of the tag before wrapping
   it in link or caption
 * `img_shortcode_output_after_linkify`: Filters the output of the tag after wrapping
   in link
 * `img_shortcode_output_after_captionify`: Filters the output of the tag after 
   wrapping in link and attaching caption

You can, of course, disregard the markup generated by this plugin altogether and
use a template part for images if you want. This example adds EXIF data below all
images containing those fields, in all post content:

in the theme’s `functions.php`:

    ```
        `
    add_filter( 'img_shortcode_output_img_tag', 'load_image_template', 10, 2 );

    function load_image_template( $_, $attributes ) {
        ob_start();
        get_template_part( 'inline-image' );
        return ob_get_clean();
    }
        `
    ```

in a template file called `inline-image.php`:

    ```
        `
    <?php

    $attachment = $attributes['attachment'];
    $size       = $attributes['size'];
    $class      = $attributes['classes'];
    $align      = $attributes['align']
    $alt        = $attributes['alt']
    $linkto     = $attributes['linkto']

    $attachment_meta = wp_get_attachment_metadata( intval( $attachment ) );
    $exif_data = ( $attachment_meta['image_meta']['camera'];

    echo wp_get_attachment_image( $attachment, $size, null,
        array(
            'class' => "$class $align attachment-$size",
            'alt'   => $alt,
        )
    );

    if ( is_array( $exif_data ) ) {
        echo '<ul class="image-meta">';
        foreach ( $exif_data as $field => $value ) {
            echo '<li>' . $field . ': ' . $value . '</li>';
        }
        echo '</ul>';
    }
        `
    ```

#### Data Migration

The plugin comes with two [WP-CLI](http://wp-cli.org) commands to migrate images
in your existing content into the `[img]` shortcode format used by this plugin. 
_Note: if it isn’t clear, this is an early release — use at your own risk, and make
sure you’ve backed up your posts before migrating!_

    ```
    wp image-shortcake migrate <ids> [--dry-run]
    ```

This command searches the post content of the posts specified in `<ids>`, and replaces
any `<img>` tags or `[caption]` shortcodes with `[img]` shortcodes. Currently it
only catches images added through the media library; custom img tags will not be
converted.

If you add the `--dry-run` flag, no replacements will actually be performed, just
a summary report of the changes which would have been made.

    ```
    wp image-shortcake revert <ids> [--dry-run]
    ```

This command finds all `[img]` shortcodes in the content of any of the posts specified
in `<ids>`, and replaces them with the markup that would be generated by those shortcodes.
Note that this runs any filters in your theme, so that if you have filtered the 
output of the shortcodes at any output, those filters will be reflected in the coverted
post content.

## 使用者評論

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

### 󠀁[Works terrifically!](https://wordpress.org/support/topic/works-terrifically/)󠁿

 [Christina](https://profiles.wordpress.org/carasmo/) 2017 年 11 月 18 日

Works great with ShortCake. Love the filters! Please update this code so it doesn’t
scare people away. Thanks!

 [ 閱讀全部 1 則使用者評論 ](https://wordpress.org/support/plugin/image-shortcake/reviews/)

## 參與者及開發者

以下人員參與了開源軟體〈Image Shortcake〉的開發相關工作。

參與者

 *   [ Daniel Bachhuber ](https://profiles.wordpress.org/danielbachhuber/)
 *   [ fusionengineering ](https://profiles.wordpress.org/fusionengineering/)
 *   [ goldenapples ](https://profiles.wordpress.org/goldenapples/)

[將〈Image Shortcake〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/image-shortcake)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/image-shortcake/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/image-shortcake/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/image-shortcake/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/image-shortcake/)。

## 變更記錄

#### 0.1.0 (May 1, 2015)

 * Initial release

## 中繼資料

 *  版本 **0.1.0**
 *  最後更新 **11 年前**
 *  啟用安裝數 **10+**
 *  WordPress 版本需求 ** 3.0.1 或更新版本 **
 *  已測試相容的 WordPress 版本 **4.3.34**
 *  語言
 * [English (US)](https://wordpress.org/plugins/image-shortcake/)
 * 標籤:
 * [images](https://tw.wordpress.org/plugins/tags/images/)[shortcodes](https://tw.wordpress.org/plugins/tags/shortcodes/)
 *  [進階檢視](https://tw.wordpress.org/plugins/image-shortcake/advanced/)

## 評分

 5 星，滿分為 5 星

 *  [  1 個 5 星使用者評論     ](https://wordpress.org/support/plugin/image-shortcake/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/image-shortcake/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/image-shortcake/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/image-shortcake/reviews/?filter=2)
 *  [  0 個 1 星使用者評論     ](https://wordpress.org/support/plugin/image-shortcake/reviews/?filter=1)

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

[查看全部使用者評論](https://wordpress.org/support/plugin/image-shortcake/reviews/)

## 參與者

 *   [ Daniel Bachhuber ](https://profiles.wordpress.org/danielbachhuber/)
 *   [ fusionengineering ](https://profiles.wordpress.org/fusionengineering/)
 *   [ goldenapples ](https://profiles.wordpress.org/goldenapples/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/image-shortcake/)