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

Gallery From Regex Matches

外掛說明

A plugin which adds a shortcode: [gallery_from_regex_matches] in which a regex attribute should be specified. It will then look for matches in the descriptions and titles of all published images in your library, and create a gallery from the matches it finds.

  • Use for example like this [gallery_from_regex_matches regex="lillill" exclude_ids="764"], and it will generate a gallery of all your pictures of “Lillill”, except the one which has ID 764.
  • Sometimes it might be advicable to limit the amount of matches. that can be achieved by adding limit to the shortcode. [gallery_from_regex_matches regex="lillill" exclude_ids="764" limit="10"].
  • Sometimes you want to make a gallery of “cats” but not “catsup”, but you don’t want to add word boundary [[:>:]], in this case you can exclude_regex=catsup. Then it could look something along the line of [gallery_from_regex_matches regex="cats" exclude_regex="catsup"].
  • The same params (except for ids) as for the [media] shortcode can be used (as this plugin calls that shortcodes callback function (gallery_shortcode()) to generate the gallery), so if you want to specify a particular type (style) of gallery from for example your cat pictures , this might do the trick: [gallery_from_regex_matches regex="(cat|kitten)" type="square"].
  • The regular expressions follows the MySQL Regexp syntax
  • Some characters will per default not work inside of the shortcode, see the “Caveats” section.
  • There are no bells and whistles for this plugin but it could potentionally be added in the futre.

Caveats

Since the regex used by the plugin is specified as an attribute value inside of a shortcode, and the Shortcode Api disallows the use of certain characters which could be a part of a valid, useful regex, there are some things to consider.

Attribute values must never contain the following characters:
* Square braces: [ ]
* Quotes: ” ‘

[ … ]
The recommended method of escaping special characters in shortcode attributes is HTML encoding. Most importantly, any user input appearing in a shortcode attribute must be escaped or stripped of special characters.

  • if in the regex you need to macth a character set [a-z], then (following the shortcode Api documentation guidline), they need to be encoded. There are two encodings which the plugin accepts: “html” and “base64”
  • Currently there is no way to encode these things with help of the plugin, although it is planned for a future release, so the regexes must be encoded manually for now’
    For example, for regex w[0u][0u]ti can be expressed either:

With HTML encoding:
[gallery_from_regex_matches regex="w[0u][0u]ti" encoding="html"]

With Base64 encoding:
[gallery_from_regex_matches regex="d1swdV1bMHVddGk=" encoding="base64"]

To encode a string to base64, it can be done from the terminal like this:
% echo -n "catsup" | base64
Y2F0c3Vw
% echo -n Y2F0c3Vw | base64 --decode
catsup%

安裝方式

  1. unpack the zip into the /wp-content/plugins dir
  2. Activate the plugin through the ‘Plugins’ menu

使用者評論

2018 年 2 月 5 日
We needed to group the pictures in our gallery in a way that wasn’t obvious but this plugin flexibility got the job done! Totally recommended.
閱讀全部 1 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Gallery From Regex Matches〉的開發相關工作。

參與者

〈Gallery From Regex Matches〉外掛目前已有 1 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將〈Gallery From Regex Matches〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

0.6.3

  • Fixed a bug in which attachments with no parent were never selected.

0.6.2

  • Fixed a bug with mysql query and empty regexp

0.6.1

  • Added exclude_regex shortcode parameter.

0.6.0

  • Move the regex matching into the database and use MySQL regex syntax instead of calling all posts and applying the regex filters on them. This to increase performance and to work better on big galleries.
  • Syntax for regex attr then is also slightly changed: no need to use delimiter ‘/’: “/(cat|kitten)/” is now written “(cat|kitten)“, but either way will work for backwards-compatiblity reasons.
  • Number of matches can now be limited with the limit which defaults to 10000, but can be set to a higher value if need be.

0.5.1

  • Add possibility of decoding encoded regexes, so that special characters which would collide with the Shortcode Api can still be used in them.

0.5

  • Search also title field
  • use preg_grep on array of target search fields instead of concatinating it to a string as that can lead to unforseen matches.

0.1

First pre-prod version with potential bugs in it.