User Guide: Creator Notes, Blog Shortcodes, and Reading Challenge Features

Versions 1.2.8 and 1.3.0 of Init Manga introduce powerful new features that enhance reader interaction, improve content formatting options, and increase reader retention through milestone-based rewards. This guide explains how to use all the new features effectively.

User Guide: Creator Notes, Blog Shortcodes, and Reading Challenge Features

1. Creator’s Thoughts System

This feature allows authors or translators to add personal notes at the end of each chapter. These notes are ideal for sharing commentary, behind-the-scenes insights, or direct messages to readers.

How to use

  • At the end of the chapter content, add a line starting with ///. Example: /// Thank you for reading!
  • The system will automatically detect and display this line inside a separate UIkit card below the chapter content.

Display priority

  • If Author Mode is enabled, the author of the chapter will be shown.
  • If the manga has a translation team, the team info is displayed instead.
  • If neither is available, the author taxonomy will be used as a fallback.

The note block includes avatar, name, role (author/team), and properly formatted message content.

2. Manual Chapter Cover

By default, the system automatically detects the cover image from the chapter (this works well for standard-sized manga pages). However, for webtoons with very long images, auto-detection may sometimes pick the credit page instead.

How to use

  • In the chapter content, add a line at the end of the chapter with the syntax: |||<img src="COVER-IMAGE-URL">.
  • Example: |||<img src="http://domain.com/path/cover.webp">.
  • Always place it at the end of the chapter to avoid preload selecting the wrong image.

Notes

  • Only use this when you need to override the default auto-detect.
  • Make sure the image URL is valid and already uploaded to the media library.

3. Post Shortcodes

The following shortcodes are fully aligned with the latest code. Most support manga identification by id | slug | title (explicitly noted per shortcode). If no data is found, the shortcode returns empty HTML (can be overridden via the empty parameter or the init_manga_empty_html filter). Parameters are validated: whitelists for style/layout/size; numeric limits for columns/limit.

3.1 [manga_info]

  • Function: Manga card: cover image (supports blur + reveal button), title, short excerpt, views, chapter count, 18+ badge, status badge (“Completed” check icon).
  • Syntax: [manga_info id="123" show_all_genres="true" empty=""] (also accepts slug | title).
  • Parameters:
    • show_all_genres: true to show up to 3 genres; defaults to only 1.
    • empty: Custom HTML when no manga is found.
  • Notes: Thumbnail size can be changed via init_manga_card_thumb_size filter. Status mapping: completed/ongoing/dropped/hiatus. Age rating normalized to 18+ for variants (adult, r18, nsfw…).

3.2 [manga_details]

  • Function: Detailed list: alternate title, chapter count (pluralized), status, author (Author Mode or author_tax), scanlation team, genres.
  • Syntax: [manga_details slug="manga-slug" empty=""] (also accepts id | title).
  • Parameters: Only empty. No fields or layout.

3.3 [manga_stats]

  • Function: Quick stats: views, bookmarks, rating (+count), comment count. Cached for 1 hour.
  • Syntax: [manga_stats id="123" style="inline" empty=""] (also accepts slug | title).
  • Parameters:
    • style: inline | cards | badges
    • empty: Custom HTML when no manga is found.
  • Notes: Output can be customized via the init_manga_stats_output filter.

3.4 [manga_read_button]

  • Function: “Read” button linking to the manga permalink.
  • Syntax: [manga_read_button id="123" text="" style="primary" size="" class="" empty=""] (also accepts slug | title).
  • Parameters:
    • text: Button label (default: Read %manga_title%, translatable).
    • style: UIkit style name (primary, secondary…).
    • size: small | large | empty (default).
    • class: Additional CSS classes.
    • empty: Custom HTML when no manga is found.

3.5 [manga_list]

  • Function: Display list/grid/carousel of manga by IDs or slugs. Optimized query, uses template parts.
  • Syntax: [manga_list ids="123,456,789" layout="grid" columns="3" limit="9" show_chapters="false" show_stats="false" empty=""]
  • Parameters:
    • ids or slugs: Choose one identification method.
    • layout: grid | list | carousel
    • columns: 1–6 (only for grid layout).
    • limit: 1–50.
    • show_chapters: true/false (if init_manga_get_chapters exists).
    • show_stats: true/false (show view count etc. inside item template).
    • empty: Custom HTML when no data.
  • Notes: Uses no_found_rows, enables meta/tax cache. Query customization via init_manga_list_query_args. Grid/carousel use template-parts/manga/item-grid.

3.6 [manga_team]

  • Function: Display scanlation team info. Supports direct team lookup or fetching from a manga.
  • Syntax:
    [manga_team id="123" style="card" show_social="true" show_stats="true" empty=""]
    or [manga_team team_id="45"] (also accepts slug | title for manga).
  • Parameters:
    • team_id: Team term ID (skips manga lookup if provided).
    • style: card | badge | inline (default card).
    • show_social: true/false (display social links from term meta).
    • show_stats: true/false (manga count, member count, “Since …”).
    • empty: Custom HTML when no data.

3.7 [manga_compare]

  • Function: Compare exactly 2 manga with fixed fields: status, chapters, rating, views, genres, authors + 2 CTA buttons.
  • Syntax: [manga_compare ids="123,456" empty=""]
  • Rules: Must provide exactly 2 valid IDs. No support for slugs or parameters like fields/layout/highlight.

3.8 [manga_highlight]

  • Function: Highlight/quote block for a manga; uses text param or falls back to excerpt/content.
  • Syntax: [manga_highlight id="123" chapter="12" text="" style="quote" empty=""] (also accepts slug | title).
  • Parameters:
    • style: quote | card | banner
    • chapter: Display “Chapter N” label (optional).
    • text: Custom highlight text; if empty, uses excerpt/trimmed content.
    • empty: Custom HTML when no content.

3.9 [team_manga]

  • Function: List manga from a specific scanlation team.
  • Syntax: [team_manga team_id="45" limit="6" layout="grid" columns="3" show_chapters="false" show_stats="false" empty=""] (also accepts team_slug).
  • Parameters:
    • team_id | team_slug: One is required.
    • layout: grid | list
    • columns: 1–6 (for grid layout).
    • limit: 1–50.
    • show_chapters, show_stats: true/false.
    • empty: Custom HTML when no data.
  • Notes: Query customization via init_team_manga_query_args. Uses the same template part as [manga_list] for consistency.

3.10 Notes

  • Stats are cached in object cache for 1 hour (group init_manga), keyed as manga_stats_{id}.
  • Valid value checks:
    • style whitelist: inline, cards, badge, badges, card, quote, banner, grid, list, carousel
    • layout whitelist: grid, list, carousel
    • size whitelist: empty, small, large
    • columns: clamped to 1–6; limit: clamped to 1–50.
  • Optimized queries (no_found_rows, meta/tax cache enabled). Item display unified via template-parts/manga/item-grid.
  • Full usage guide: Shortcode Usage Guide.

3.9 Notes

  • Stats use object cache for 1 hour under the init_manga group.
  • Validation: style whitelist includes inline, cards, badge, badges, card, quote, banner, grid, list, carousel; layout whitelist: grid, list, carousel; size whitelist: empty, small, large.
  • See the full guide here: Blog Shortcode Usage Guide.

4. Library and History Filters

This feature improves how users interact with their followed or recently read manga by adding dropdown sorting options.

How it works

  • Library page: defaults to “Recently followed”, with an option to switch to “Recently read”.
  • History page: defaults to “Recently read”, with an option to switch to “Oldest first”.

The dropdown UI uses UIkit components for seamless theme integration and automatically handles query parameters for consistent navigation.

5. Reading Challenge System

This system tracks how many chapters users have read and automatically rewards them upon reaching specific milestones (e.g. 100, 200, 500 chapters).

How to configure

  • In the theme settings, enter milestone rules using the format: chapters:exp:coin:cash, separated by semicolons.
  • Example: 100:10:20:0;200:20:50:10;500:50:100:20

How it works

  • When a user reaches a milestone, they automatically receive the corresponding rewards (EXP, Coin, Cash).
  • The transaction is logged with the source reading_challenge.
  • The system sends an inbox notification summarizing the rewards received.
  • Duplicate rewards are prevented using user meta to track progress.

6. Conclusion

With the new features in 1.3.0 and 1.2.8, authors can now engage more directly with readers, bloggers can present manga info more dynamically, and users have stronger incentives to keep reading. Update to the latest version and start taking advantage of everything the Init Manga system has to offer.

Comments


  • No comments yet.

Init Toolbox

Press Ctrl + \ on desktop, or swipe left anywhere on mobile.

Login