, ,
,
structure throughout.
CN News Portal is a premium WordPress theme purpose-built for news portals, magazines, blogs, and content-heavy websites. It combines a clean, modern design with powerful customization options β all without requiring any coding knowledge.
β¨ Key Selling Points:
Above-the-fold CSS is extracted from style.css, minified, and inlined in for instant first paint. Non-critical CSS loads asynchronously via media="print" + onload swap.
First 3 images on homepage load eagerly with fetchpriority="high". All others lazy-load with loading="lazy" decoding="async". Responsive image sizes: thumb (300Γ200), medium (600Γ380), large (900Γ500).
Single vanilla JS file (assets/js/main.js ~2KB gzipped). Handles mobile nav, scroll-to-top, and AJAX load more. No jQuery, no heavy libraries.
Homepage hero, category sections, and archive queries cached for 5 minutes via WordPress Transients API. Auto-invalidated on post publish/update/delete.
Query strings removed from static resources. DNS prefetch for Google Fonts. Preload hints for critical JS/CSS. Heartbeat API reduced to 60s.
Text domain calculator-net. Includes Hindi/Devanagari font (Noto Sans Devanagari) in font stack. RTL support via logical CSS properties.
The homepage is built from 6 configurable category sections (slots 1β6). Each slot can be enabled/disabled, assigned any category, and styled independently.
| Layout | Description |
|---|---|
top2_grid4 |
2 large featured cards (top) + 4 smaller grid cards below |
card_grid |
Classic 3Γ2 card grid (6 posts) |
compact_grid |
Tighter 2Γ2 grid for dense content |
list_rows |
Vertical list with thumbnail + text side-by-side |
image_grid |
Overlay cards β image background with title/category overlay |
num_split |
1 featured + numbered list (1β5) for ranking-style content |
masonry |
Pinterest-style mixed-size grid (alternating large/small) |
magazine_hero |
Full-width cover story + asymmetric mosaic (2 large + 2 small) |
featured_split |
1 large featured + 4 stacked side items |
Default Demo Configuration (easily changed in Customizer):
top2_grid4 β Red (#E10600)card_grid β Orange (#FF6B35)list_rows β Blue (#1E88E5)image_grid β Yellow (#FFB300)num_split β Green (#00C853)masonry β Purple (#AA00FF)Every design decision is exposed in the native WordPress Customizer (Appearance β Customize) with live preview. No settings panels to hunt for.
code or any HTMLThe theme includes 15 dedicated ad slots β each accepts raw AdSense code or any HTML (affiliate banners, custom CTAs, etc.). Empty slots output nothing (no empty divs, no placeholders).
| Slot ID | Location | Suggested Size |
|---|---|---|
header_banner |
Header (below nav) | 728Γ90 / 970Γ90 |
home_top |
Homepage top (above hero) | 728Γ90 |
home_mid |
Homepage middle (between category 3 & 4) | 728Γ90 |
home_bottom |
Homepage bottom | 728Γ90 |
post_top |
Single post β before content | 728Γ90 / 300Γ250 |
post_mid1 |
Single post β after paragraph 3 | 300Γ250 / 336Γ280 |
post_mid2 |
Single post β after paragraph 6 | 300Γ250 |
post_mid3 |
Single post β after paragraph 9 | 300Γ250 |
post_bottom |
Single post β after content | 728Γ90 / 300Γ250 |
post_related |
Single post β after related posts | 300Γ250 |
cat_top |
Category archive top | 728Γ90 |
cat_mid |
Category archive middle (after 4th post) | 300Γ250 |
cat_bottom |
Category archive bottom | 728Γ90 |
sidebar |
Sidebar top | 300Γ250 / 300Γ600 |
sidebar_2 |
Sidebar bottom | 300Γ250 |
code (including the ) into the Customizer field. The theme outputs it exactly as-is.
| Control | Default | Range |
|---|---|---|
| Body | 15 | 13β18 |
| Section Heading | 20 | 16β26 |
| Logo Text | 34 | 24β44 |
| Card Title | 16 | 13β18 |
| Featured/Hero Title | 22 | 18β30 |
| Small Post Title | 14 | 12β16 |
| Menu | 14 | 11β22 |
Home β Category β Post Title. Toggle on/off in Customizer.
Author, published date, updated date, reading time estimate. Toggle on/off.
Displays image caption below featured image. Toggle on/off.
Tag links at bottom of post. Toggle on/off.
Facebook, Twitter/X, WhatsApp, Telegram, Copy Link. Lightweight SVG icons, no external scripts. Toggle on/off.
3 related posts by category (excluding current). Grid layout with thumbnails. Toggle on/off.
has-drop-cap classClean, fast archive templates for categories, tags, authors, dates, and search.
archive.php β Main archive templatetemplate-parts/archive/posts-list.php β Reusable post card partial (used by AJAX too)Category archives use infinite "Load More" button instead of numbered pagination. Posts are fetched via admin-ajax.php and appended without page reload.
.cn-load-more appears if more pages existfetch() POST to admin-ajax.php with action=cn_load_more_postsposts-list.php template part) + has_more flag.posts-list, updates page countercn_load_more_nonce)cat_id)limit)The theme declares WooCommerce support and includes basic styling for shop, cart, checkout, and single product pages. Works out of the box for publishers selling merch, subscriptions, or digital products.
add_theme_support( 'woocommerce' ) declaredProper
, ,
,
structure throughout.
Posts include itemtype="https://schema.org/NewsArticle" with headline, datePublished, dateModified, author, publisher, image, description.
Auto-generates og:title, og:description, og:image, og:type, twitter:card from post data.
BreadcrumbList markup on single posts for rich results.
Critical CSS inlined, lazy images, preload hints, no render-blocking JS. Scores 90+ on PageSpeed out of the box.
Works perfectly with Yoast SEO, Rank Math, All in One SEO, Schema Pro, WP Rocket, etc.
esc_html, esc_url, wp_kses_post)current_user_can)| Hook | Type | Description |
|---|---|---|
cn_ad_{position} |
Filter | Modify ad HTML before output |
cn_get_ad |
Filter | Override ad retrieval logic |
cn_font_stack |
Filter | Custom font stack mapping |
cn_critical_css |
Filter | Modify inlined critical CSS |
cn_ajax_load_more_args |
Filter | Modify AJAX query arguments |
cn_ajax_load_more_response |
Filter | Modify AJAX JSON response |
cn_post_meta_items |
Filter | Add/remove post meta items |
cn_related_posts_args |
Filter | Customize related posts query |
Copy any template file to child theme to override:
archive.phpsingle.phpfront-page.phptemplate-parts/archive/posts-list.phpheader.php, footer.php, sidebar.phpIncludes style.css with proper Template: header. All functions wrapped in function_exists() for easy overriding.
| Requirement | Minimum | Recommended |
|---|---|---|
| WordPress | 5.8+ | 6.4+ |
| PHP | 7.4+ | 8.1+ |
| MySQL/MariaDB | 5.6+ | 8.0 / 10.6+ |
| Memory Limit | 128M | 256M |
| HTTPS | Optional | Required (for ads, SEO) |
cn-news-portal.zipUse the included export-2026-08-10.xml file (WXR format) via Tools β Import β WordPress to import 20 sample posts, 6 categories, and featured images instantly.