Complete WordPress Plugin Help Guide
| Attribute | Description |
|---|---|
id | Template ID (required) |
title | Entry title (optional) |
entry_id | Entry ID (optional) |
dbid | Database ID or database name for shared templates |
fields | Comma-separated field list for simple output |
fields_sep | Separator used with fields |
orderby | Field to sort by (default: id) |
order | Sort order (ASC/DESC, default: ASC) |
limit | Number of matched entries to render |
empty | Custom text shown when nothing matches |
sort_preset | Attached sort/filter preset ID |
all | Allows all entries to be rendered when no conditions are provided |
| Attribute | Description |
|---|---|
db | Database ID (required) |
field | Field name to retrieve (optional) |
| Prefix | Meaning | Example |
|---|---|---|
in__ | OR condition (match any value) | in__title="A,B,C" |
not_in__ | NOT IN condition | not_in__col_1="Consumable,Material" |
like__ | Partial match | like__title="Sword" |
gt__ | Greater than | gt__col_5="100" |
gte__ | Greater than or equal | gte__col_5="100" |
lt__ | Less than | lt__col_5="500" |
lte__ | Less than or equal | lte__col_5="500" |
between__ | Range condition | between__col_5="100,500" |
or__ | Raw OR-style value condition | or__col_1="A|B" |
fill and blank on normal fields to check whether a value exists.[endif].
[title], [col_1], and [image_url].[if], [repeat].DCP is not a visual page builder. The most natural workflow is to design first, then convert the static parts into DCP variables and logic.
Control-style tags use explicit closing names such as [endif], [endrepeat], [end_before], and [end_after].
Repeat nesting is supported up to 3 levels. For readability and performance, 2 levels or fewer are recommended.
Deep nesting can become heavy when control tags are combined. Save validation and preview warnings will alert you when nesting becomes too deep.
Both direct values and variable-style values are supported. [link="url"] is the simplest canonical example.
| Variable | Description |
|---|---|
[_total] | Total number of search results |
[_counter] | Current item number (starts from 1) |
[_first] | "true" for the first item |
[_last] | "true" for the last item |
[_odd] | "true" for odd-numbered items |
[_even] | "true" for even-numbered items |
A practical template collection you can use with copy and paste.
Displays the image and title, and turns them into a link when a URL exists.
[if url=fill] [link="url"] [image_url width="50"]<br> [title] [/link] [else] [image_url width="50"] <br>[title] [endif]
Displays only the image, and turns it into a link when a URL exists.
[if url=fill] [link="url"] [image_url width="50"] [/link] [else] [image_url width="50"] [endif]
Displays icons and titles in a wrapping three-column layout. Requires the Flexible Table Block plugin.
[before]<!-- wp:flexible-table-block/table -->
<figure class="wp-block-flexible-table-block-table"><table class="has-fixed-layout"><tbody><tr>
[end_before]
<td style="text-align:center">
[if url=fill]
[link="url"]
[image_url width="50"]<br>
[title]
[/link]
[else]
[image_url width="50"]
<br>[title]
[endif]
</td>
[if _counter%3=0]
</tr><tr>
[endif]
[after]
</tr>
</tbody></table></figure>
<!-- /wp:flexible-table-block/table -->
[end_after]
Note: _counter%3=0 inserts a line break every third item. Change the number if you want a different column count.
This feature lets you interactively sort and filter table data on the front end. Because it runs in JavaScript, filtering happens instantly without page reloads.
You can create reusable filter settings from the Sort Settings screen in the admin area.
| Type | Description | Use Case |
|---|---|---|
| Type Selection Filter | A dropdown filter that can search multiple columns with OR/AND logic | Pokemon type, weapon category, and similar use cases |
| Condition Filter | A checkbox-style filter based on specific column values | "Show Mega Evolution only", "Rare equipment only", and similar cases |
Specify the sort preset you created in a shortcode.
Important: You must manually add the data-sort attribute to table headers (<th>). Filtering will not work without it.
The Sort Settings edit screen displays copy-ready data-sort attribute examples. Copy them and paste them into your template header.
This example creates a table similar to a Pokemon index.
[before]<!-- wp:flexible-table-block/table -->
<figure class="wp-block-flexible-table-block-table"><table class="has-fixed-layout"><tbody><tr>
<th style="text-align:center;width:10%" data-sort="col_7">No</th>
<th style="text-align:center">Pokemon</th>
<th style="text-align:center" data-sort="col_4">Type</th>
<th style="text-align:center">Base Stats</th>
</tr>
[end_before]
<tr>
<th style="width:10%;text-align:center">[col_7]</th>
<td style="text-align:center">
[if url=fill]
[link="url"]
[image_url width="100"]<br>
[title]
[/link]
[else]
[image_url width="100"]
<br>[title]
[endif]
</td>
<td style="text-align:center">[dcpub_template id="41" title="[col_4]"][dcpub_template id="41" title="[col_5]"]</td>
<td style="text-align:center">[col_9]-[col_10]-[col_11]-[col_12]-[col_13]・・col_14]・・lt;/td>
</tr>
[after]
</tbody></table></figure>
<!-- /wp:flexible-table-block/table -->
[end_after]
Note: Please use full-width parentheses ・茨シ・ Some patterns containing half-width parentheses () may be falsely blocked by WAF.
To embed Google Maps in your template, set the column type to Map when creating the database.
<iframe>) into the Map column. The plugin automatically extracts the URL.[col_3]) to output the map.<iframe> code and paste it into the entry cell.You can also paste just the embed URL directly. No API key is required.
Type selection filters let you choose the search mode.
| Mode | Description | Example |
|---|---|---|
| OR Search | Matches when any target column matches | Contains "Fire" in col_4 or col_5 |
| AND Search | Requires all target columns to match | Contains "Fire" in both col_4 and col_5 |
Filter choices can be configured in two ways.
After selecting a target column, click the "Load from DB" button to automatically fetch all existing values from that column.
You can add choices one by one with the "Add Manually" button. You can specify the value, label, and icon URL.
data-sort attribute is correctly set on the table headersdata-sort match your actual data() (for example [col_14])) may be falsely blocked by WAF・茨シ・/code><!-- wp:heading {"level":3} --> are preserved when savingUse one template and one database to generate many articles, then update them later from the database.
If data is not ready yet, you can still build the page structure first and let the query text show as a fallback.
This is useful when the product or character name is known first, but the detailed database row will be added later.