Documentation

Mangabooth Webtoons

A WordPress theme for publishing and reading webtoons. This guide covers installation, every theme feature, shortcodes, and developer hooks.

Requirements

WordPress & PHP

  • WordPress 6.7 or later (tested up to 6.9)
  • PHP 8.0 or later
  • Pretty permalinks enabled (/%postname%/ recommended)

Required plugins

  • Required WP Manga 2.4.2+
  • Required WP Manga – Shortcodes 1.7.1.1+
  • Optional Blogger AI Assistant 1.0.1+

Install the theme

  1. Download the Mangabooth Webtoons theme ZIP from your purchase / delivery package.
  2. In WordPress go to Appearance → Themes → Add New → Upload Theme and upload the ZIP.
  3. Click Activate. After activation you are redirected to Appearance → Webtoons Welcome.
  4. If you prefer FTP: unzip and copy the webtoons folder into wp-content/themes/, then activate it from Appearance → Themes.
Webtoons is a standalone theme (not a child of Madara). Do not install it as a child theme of Madara unless you have a custom child built for that purpose.

Install plugins

  1. After activating the theme, WordPress shows an admin notice to install required plugins. Or go to Appearance → Install Plugins.
  2. Select WP Manga and WP Manga – Shortcodes, choose Install, then activate both.
  3. Optionally install Blogger AI Assistant if you want AI writing tools. It is not required for webtoon features.
  4. Go to Settings → Permalinks and click Save Changes so manga rewrite rules are flushed.

What each plugin does

PluginRole
WP MangaProvides all core manga features. Works standalone without the theme.
WP Manga – ShortcodesAdds listing, slider, tabs, info, chapters, bookmarks, heading, and blog shortcodes used on the homepage.
Blogger AI AssistantOptional AI helper for writing. Not used by theme templates.

Install demo content

This is the recommended way to get started. After installing demo content, you can learn the theme and start adding your own series and chapters.

  1. Go to Appearance → Webtoons Welcome.
  2. Click Install Sample Data to create sample manga posts (20 series), homepage, Front-Page template pages, menus, widgets, theme mods, and configuration.
  3. Or click Install Configuration only if you already have manga content and only want pages, menus, widgets, and settings.
  4. Visit the site homepage when the installer finishes.
Webtoons Welcome screen
Sample install can overwrite settings and add content. Use it on a fresh site, or use Install Configuration only if you already have series.

First-time setup checklist

  1. Appearance → Customize → Site Identity — upload the site logo. This appears in the header on all pages except the reading header (which has its own logo setting).
  2. Appearance → Menus — assign menus to Main Menu, Secondary Menu, Footer Menu, and User Menu.
  3. WP Manga → Settings — set the Manga Archive page and User Page (the page with [manga-user-page]).
  4. Settings → General — enable Anyone can register if you want the header Login button and sign-up modal.
  5. Settings → Reading — set a static homepage if you did not use sample data: Homepage = your Home page, Posts page optional.
  6. Create at least one manga series: WP Manga → Add New, add a featured image, genres, chapters, then set Webtoon Settings (release days, header images).
First time using WP Manga? See our Youtube Channel for a quick introduction: https://www.youtube.com/watch?v=irnrzJSii5k

WP Manga (plugin) Settings

Open WP Manga Settings for core manga options.

WP Manga Settings screen

Widgets Settings

Appearance → Widgets, or Customize → Widgets. Empty widget areas are simply hidden. Full-width vs. contained Top/Bottom sidebars is a Customizer layout option, not a widget setting.

SidebarPlacement
Webtoons – Top SidebarAbove main content. Optional full width.
Webtoons – Top Secondary SidebarSecond strip above content. Optional full width.
Webtoons – Main SidebarRight column next to Front-Page / archive listings. If empty, the listing is full width.
Webtoons – Bottom SidebarBelow the listing. Optional full width. Sample data places an HTML Block here.
Webtoons – Bottom Secondary SidebarSecond strip below content. Optional full width.
Webtoons – Series Detail – Before Chapters ListOn the series page, above the chapter list — unless that series has its own Before Chapters List Content.
Webtoons – Footer SidebarTop of the footer, above logo / social / menu.
Left / Right Floating BannerFixed banners beside the content. Widgets override Customizer HTML for that side.

The widget Webtoons: HTML Block outputs a published HTML Block by ID. Use it in any sidebar above. See HTML Blocks.

Theme Customize settings

Appearance → Customize. These options control look and layout. Manga data still comes from WP Manga.

Site identity & logos

Site Identity → Logo — used in the site header. Recommended height about 50px; width is flexible. If no logo is set, the site name is shown as text.

Webtoons – Header → Episode Reading – Header Logo — optional logo for the reading header only.

Appearance → Webtoons Welcome is the first-run hub (docs, demo, support, changelog, sample data). It is not a Customizer panel.

Layout

Section Webtoons – Layout Settings:

Header (series defaults)

Section Webtoons – Header — used when a series has no Background Image of its own:

Archives & listing cards

Section Webtoons – Archives Page. These defaults apply to archives, Front-Page grids, and shortcode listings unless the shortcode overrides them.

OptionDefaultNotes
Thumbnail SizeVerticalvertical (224×298) or square (224×224). Image sizes: webtoons, webtoons-square.
Show GenresOnGenre links under the thumbnail.
Show Total ChaptersOn
Show Total ViewsOnAll-time views from WP Manga.
Show Total LikedOnBookmark / heart count.
Archives Loop Item

Shortcode attributes show_genres, show_chapters, show_views, show_liked, and thumbnail_size override these per instance.

Typography & colors

Section Webtoons – Typography. Color and type values are written as CSS variables on :root. Heading/content fonts are extra controls at the end of the same panel.

Fonts

SettingDefaultNotes
Heading Font FamilyVolte, sans-serifApplied to headings and titles (h1h6, .entry-title, .widget-title, .post-title).
Load Heading Font From Google FontsOffLoads the first family name, weights 100–900.
Content Font FamilyHelveticaNeue, sans-serifApplied to body.
Load Content Font From Google FontsOffSame as headings.
Font Family"Roboto", sans-serifCSS variable --font-family.
Font Size15px--font-size
Font Size Small13px--font-size-small
Font Size Heading24px--font-size-heading
Font Size Widget Title18px--font-size-widget-title
H4 Font Size22px--h4-font-size
H4 Mobile Font Size16px--h4-mobile-font-size
Line Height1.5--line-height

Colors

SettingDefault
Primary Color#000
Highlight Color#68e751
Text On Primary Color#fff
Text On Highlight Color#fff
Background Color#f5f5f5
Background Bookmarked Color#f2f2f2
Header Background Color#fff
Header Text Color#333
Header Link Color#333
Header Link Hover Color#545454
Page - Text Color#333
Page - Link Color#000000
Page - Link Hover Color#545454
Body - Background Color#fff
Body - Text Color#333
Body - Text Meta Color#8c8c8c
Body - Link Color#000000
Body - Link Hover Color#545454
Border Color#f5f5f5
Button Background Color#333
Button Text Color#fff
Button Hover Background Color#444
Button Hover Text Color#fff
Button Secondary Background Color#f2f2f2
Button Secondary Text Color#000
Button Secondary Hover Background Color#6d6d6d
Button Secondary Hover Text Color#fff

Spacing & layout tokens

These sit in the same Customizer section because they map to the remaining CSS variables.

SettingDefaultChoices / notes
Margin0Example: 15px, 1.5rem, 0
Padding0
Gap10px
Border Radius4px
Box SizingBorder BoxBorder Box, Content Box
Overflow XHiddenHidden, Auto, Scroll, Visible

Footer Settings — Footer Logo and Copyright Text. Placeholders: {year}, {site}. Empty copyright uses “© {year} {sitename}. All rights reserved.”

Copyright Text

Social Accounts — Facebook, Twitter/X, Instagram, YouTube, LinkedIn, Pinterest, TikTok, Snapchat, Discord. Empty URLs are hidden in the footer.

Social Accounts

Social Share — toggles share buttons on series and reading pages: Facebook, X-Twitter, Tumblr, Reddit, Copy Link, RSS. The bookmark heart is not here; it follows WP Manga’s User bookmark option.

Social Share

Floating banners

Fixed left/right banners beside .main-content. Hidden automatically below 1200px.

  1. Preferred: widgets in Appearance → Widgets → Left Floating Banner / Right Floating Banner.
  2. Fallback: in case no widgets are added, section Webtoons – Floating Banners — Left / Right Banner HTML (ad units, iframes, scripts). Users with unfiltered_html can store raw HTML; others are limited to post-safe HTML.

Leave both the sidebar and the HTML empty to hide that side.

The floating banners are hidden automatically below 1200px.

SEO (Manga)

Section Webtoons – SEO (Manga). Leave a field empty to keep WordPress / plugin defaults. Descriptions are trimmed to 160 characters.

FieldPlaceholders
Manga Single – Title%title% %sitename% %genre% %author%
Manga Single – DescriptionSame, plus %genre_clause% %author_clause%
Manga Reading – Title%title% %chapter% %chapter_index% %vol% (when the chapter belongs to a volume)
Manga Reading – Description%title% %chapter% %sitename%

Example single title: %title% - Read Online Free | %sitename%

HTML Blocks

Reusable snippets stored as a private post type. Admin menu: HTML Blocks.

  1. Add a new HTML Block. Give it a title; put HTML, blocks, or shortcodes in the editor.
  2. Note the numeric ID in the list table (ID column).
  3. Embed with [html_block id="123"] anywhere shortcodes work, or add the widget Webtoons: HTML Block to a sidebar and pick the block.

Self-references are blocked so a block cannot recurse infinitely. Only published blocks render. Sample data creates a Footer Block in the Bottom Sidebar.

Shortcodes

Place shortcodes in pages, HTML Blocks, widgets that parse shortcodes, or the “Before Chapters List” editor. Theme shortcodes wrap WP Manga Shortcodes; both plugins must be active.

Theme shortcodes

[webtoons_tab_trending]

Tabbed sliders for Trending (week views), Popular (all-time views), and New (latest). Built on [wp_manga_tabs] + [manga_post_slider].

AttributeDefaultDescription
headingTrending & Popular SeriesSection title
tabspopular,newComma list of trending, popular, new
trending_label / popular_label / new_labelTrending / Popular / NewTab labels
viewallURL for a “View All” link next to the heading
viewall_labelView All
viewall_target_selfLink target
[webtoons_tab_trending heading="Popular & New Series" tabs="popular,new" viewall="/originals/"]

[webtoons_tab_genres]

One tab per genre slug; each tab is a 6-column [manga_listing]. Required: genres.

AttributeDefaultDescription
headingPopular Series by CategorySection title
genres(required)Comma-separated wp-manga-genre slugs. Invalid slugs are skipped.
[webtoons_tab_genres heading="By Categories" genres="action,drama,romance"]

[webtoons_calendar]

Weekday tabs. Each tab lists series whose Release Schedule includes that day (via [manga_listing_by_day_release]).

AttributeDefaultDescription
headingemptySection title
items_per_row0Grid columns (0 = theme default)
monday_labelsunday_labelMon … SunTab labels
[webtoons_calendar heading="Daily" items_per_row="6"]

[manga_listing_by_day_release]

Low-level listing used by the calendar. You can use it alone.

AttributeDefaultDescription
weekdaymondaymondaysunday
count100Max posts
items_per_row0
item_layoutdefaultSame layouts as manga_listing
num_chapters0Latest-chapters count for chapter layouts
[manga_listing_by_day_release weekday="friday" count="20" items_per_row="5"]

[html_block]

AttributeDefaultDescription
id0HTML Block post ID
[html_block id="42"]

WP Manga Shortcodes plugin

[manga_listing]

The main series grid. Sample homepage uses it for “Newly Released Originals”, “Completed”, and indie listings.

AttributeDefaultDescription
headingemptyTitle above the grid
heading_iconemptyFont Awesome class
countemptyNumber of series
items_per_row0Columns
orderbylatestlatest, alphabet, rating, trending, views, new-manga, input, random, date
orderDESCASC or DESC
genres / tagsemptyComma-separated slugs
idsemptyComma-separated post IDs (skips tax query)
statusemptye.g. end for Completed, on-going
typeemptyManga type meta
chapter_typeallall, manga (images), text, video
authoremptyAuthor user ID; 0 = current user
followingoffIf present, only bookmarked series for the logged-in user
adult1 / 0 to include or exclude adult-flagged series
item_layoutdefaultdefault, big_thumbnail, simple, chapters
num_chaptersemptyFor chapter-style layouts
sidebar0Set if the listing should assume a sidebar column
show_genres show_chapters show_views show_likedCustomizer1 or 0
thumbnail_sizeCustomizervertical or square
[manga_listing heading="Completed" count="5" items_per_row="5" orderby="date" status="end"]
[manga_listing heading="Indie" show_genres="1" show_liked="0" count="5" items_per_row="5" thumbnail_size="square"]

[manga_post_slider]

AttributeDefaultDescription
post_typepostUse wp-manga for series
count5Total slides queried
number2Visible slides
orderbylatestlatest, view, random, comment, title, input
timeallFor views: day week month year all
cats / tags / idsemptyFilters
style1Slider style 1–4
arrowsoff1 to show arrows
dotson0 to hide dots
infiniteon0 to disable looping
autoplayoff1 to autoplay
thumb_ratioverticalvertical or landscape
rankoff1 shows rank numbers (theme slider item)
show_genres show_chapters show_views show_likedCustomizerTheme slider item
[manga_post_slider post_type="wp-manga" count="10" number="5" orderby="view" time="week" arrows="1" dots="0" rank="1"]

[wp_manga_tabs] + [wp_manga_tabcontent]

Generic tab wrapper. Tab IDs are sanitize_title of the comma-separated tabs labels. Each inner shortcode must set matching tab.

[wp_manga_tabs heading="Picks" tabs="Hot,New" viewall="/manga/" viewall_label="See all"]
  [wp_manga_tabcontent tab="hot"][manga_listing count="6" orderby="views"][/wp_manga_tabcontent]
  [wp_manga_tabcontent tab="new"][manga_listing count="6" orderby="new-manga"][/wp_manga_tabcontent]
[/wp_manga_tabs]

Optional: viewall, viewall_label, viewall_target.

[manga_info]

Series details block (thumbnail, meta, optional chapter list). Defaults to the current post if id is omitted.

AttributeDefault
idCurrent post ID
manga_details / manga_title / chapters1
title_link0
author_link artist_link genre_link tag_link1
order / orderbyASC / name (chapters)
[manga_info id="123" chapters="1" title_link="1"]

[manga_chapters]

AttributeDefaultDescription
idCurrent series on single
count5Latest chapters
style1List style
cols11–4 columns
border0
extend_nameoffShow chapter extend name
[manga_chapters id="123" count="10" cols="2"]

[manga_grid]

Fixed 9-item grid. Attributes: orderby, order, genres, tags, ids, chapter_type, author.

[manga_grid genres="action" orderby="views"]

[manga_heading]

Styled heading. Content is the title text.

AttributeDefault
idauto
iconempty
style1
border1
headingh4 (HTML tag)
[manga_heading icon="fa fa-star"]Editor picks[/manga_heading]

[manga_blog]

Blog post cards (standard posts, not manga).

Attributes: count (6), cats, tags, ids, order, orderby, items_per_row (3 or 2).

[manga_blog count="4" items_per_row="2" cats="news"]

[wp-manga-my-bookmarks]

Logged-in user’s bookmarked series. Guests see nothing.

Attributes: style (1 or 2), column (must divide 12; default 3 → 4-column bootstrap).

[wp-manga-my-bookmarks style="1" column="3"]

WP Manga user dashboard

[manga-user-page]

Renders bookmarks, history, account settings, and reader settings. Put it on one page and select that page in WP Manga → Settings → User Page.

[manga-user-page]

Hooks & filters for developers

Add callbacks from a child theme’s functions.php or a small custom plugin. Prefix your functions. Theme text domain: webtoons.

Theme actions

HookArgsWhen it fires
webtoons_before_main_contentFront-Page, archives, search, pages, blog index — used by the theme to print floating banners.
webtoons_before_manga_archive$manga_query, $actual_query_varsBefore the series grid. Default callback prints the archive heading, count, and order-by filter.
webtoons_after_manga_archiveAfter the grid / pagination.
webtoons_after_manga_itemAfter each card in Front-Page / archive loops.
webtoons_before_loop_manga_item$manga_idStart of a listing card.
webtoons_after_loop_manga_item$manga_idEnd of a listing card.
webtoons_before_loop_manga_thumbnail$manga_idInside the thumbnail link, before the image. Default: “New” badge.
webtoons_after_loop_manga_thumbnail$manga_idAfter the thumbnail image, still inside the link.
add_action( 'webtoons_after_loop_manga_item', function( $manga_id ) {
    echo '<span class="custom-flag">' . esc_html( get_post_meta( $manga_id, 'my_flag', true ) ) . '</span>';
} );

Theme filters

FilterValue / extra argsPurpose
webtoons_front_page_query_args$query_args, $page_idModify the Front-Page WP_Query args (tax/status/weekday).
webtoons_front_page_orderby_options$orders, context array (orderby, wd, genre, page_id)Change Order By links.
webtoons_front_page_weekdays_options$weekdays, context (wd)Relabel or drop weekday tabs.
webtoons_front_page_categories_options$genre_options, context (genre)Genre filter tabs.
webtoons_front_page_ranking_options$ranking_options, context (orderby, page_id)Ranking filter tabs.
webtoons_archive_headingstringDefault archive H1 (“All Webtoons”).
webtoons_archive_taxonomy_headingstringH1 on genre/tag archives.
webtoons_user_settings_url$url, $current_userHeader user-menu settings URL.
webtoons_tab_trending_slider_shortcode$slider_shortcode, $tabReplace the slider inside a trending tab.
webtoons_tab_genres_manga_listing_shortcode$shortcode, $genre_objReplace the listing inside a genre tab.
query_varsTheme adds public vars wd and genre.
add_filter( 'webtoons_front_page_query_args', function( $args, $page_id ) {
    $args['posts_per_page'] = 24;
    return $args;
}, 10, 2 );

add_filter( 'webtoons_archive_heading', function() {
    return __( 'Browse series', 'my-child' );
} );

WP Manga / reading hooks used in this theme

These fire from theme templates. They are the usual extension points for chapter lists and reading UI.

HookTypeArgsUse
wp-manga-chapter-listingaction$manga_idSeries chapter list. Theme prints “before chapters” content at priority 10, then the list.
madara_before_chapter_listingactionBefore the <ul> of chapters.
wp_manga_after_chapter_listingactionAfter the chapter list.
wp_manga_before_chapter_nameaction$chapter, $manga_idBefore chapter title link.
wp_manga_after_chapter_nameaction$chapter, $manga_idTheme adds chapter view count here.
wp_manga_chapters_list_after_chapter_itemaction$chapter, $manga_id, $indexAfter each <li>.
wp_manga_chapter_item_classfilter$class, $chapter, $manga_idExtra CSS classes on a chapter row.
madara_archive_chapter_datefilterHTML, chapter id, date, linkRelative date markup.
wp_manga_discussionactionComments on series and reading pages.
wp_manga_before_chapter_content / wp_manga_after_chapter_contentaction$cur_chap, $manga_idAround chapter body.
wp_manga_chapter_content_alternativefilterstringReplace default chapter HTML (paywall, etc.).
madara_before_text_chapter_content / madara_text_chapter_content / madara_after_text_chapter_contentaction$post on contentText chapters.
madara_before_video_chapter_content / madara_after_video_chapter_contentactionVideo chapters.
madara_before_chapter_image / madara_after_chapter_imageaction$paged, $totalAround each page image.
wp_manga_chapter_image_urlfilter$url, $host, $link, $post_id, $nameRewrite image CDN URLs.
wp_manga_prev_chapter_link_html / wp_manga_next_chapter_link_htmlfilterHTML, URL, chapter, manga idPrev/next buttons in reading header.
wp_manga_chapter_nagivation_button_classfilterclass, chapter, manga idWrapper class for prev/next.
wp-manga-reading-chapters-selectboxaction$chapter, $this_vol_all_chaps, 'manga'Chapter dropdown.
after_manga_singleactionEnd of reading template.
manga_login_buttonfilterHTMLSubmit button on the login modal.
login_form / register_form / lostpassword_formactionStandard WP login hooks inside the modal.
add_filter( 'wp_manga_chapter_image_url', function( $url, $host, $link, $post_id, $name ) {
    return 'https://cdn.example.com/' . ltrim( $link, '/' );
}, 10, 5 );

Public query vars

VarExampleUsed by
wd?wd=wednesdayFront-Page weekday filter
genre?genre=actionFront-Page category filter
orderby?orderby=trendingFront-Page / ranking sort
m_orderby?m_orderby=viewsManga archive / search sort (WP Manga)

Useful post meta (series)

Meta keyType
_webtoons_release_scheduleArray of weekday keys
_webtoons_background_imageAttachment ID
_webtoons_characters_imageAttachment ID
_webtoons_before_chapters_list_contentHTML string

User meta (authors)

_webtoons_user_social_facebook, _instagram, _x, _youtube, _tiktok — URLs from the profile screen.

Template overrides

Copy any file from wp-content/themes/webtoons/ into a child theme using the same relative path. Manga templates live under wp-manga/ (for example wp-manga/manga-single.php, wp-manga/content/content-archive.php).

Do not edit the parent theme directly if you expect updates. Prefer hooks and Customizer settings when they already cover the change.

Support & links