{"id":10749,"date":"2026-05-19T23:31:53","date_gmt":"2026-05-19T15:31:53","guid":{"rendered":"https:\/\/aeosub.com\/kayce-custom-archive-sections\/"},"modified":"2026-05-19T23:31:53","modified_gmt":"2026-05-19T15:31:53","slug":"kayce-custom-archive-sections","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/kayce-custom-archive-sections\/","title":{"rendered":"Kayce Custom Archive Sections"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/kayce-custom-archive-sections.svg\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/wpkayce\/\" target=\"_blank\" rel=\"noopener\">wpkayce<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.0 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-19 2:36pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/kayce-custom-archive-sections\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Add reusable content sections before or after posts on any archive page \u2014 blog index, categories, tags, authors, search results, and more.<\/div>\n<p><strong>Kayce Custom Archive Sections<\/strong> lets you create and manage reusable content areas that appear automatically before or after the post loop on your WordPress archive pages \u2014 no theme file editing required.<\/p>\n<p>Each section is a regular WordPress post, so you can design it with the <strong>block editor (Gutenberg)<\/strong> or <strong>Elementor<\/strong>, publish it once, and it shows up exactly where you set it.<\/p>\n<p>The plugin works with both <strong>classic PHP themes<\/strong> and modern <strong>Full Site Editing (FSE) \/ block themes<\/strong> like Twenty Twenty-Five \u2014 out of the box, with no extra configuration.<\/p>\n<p><strong>Archive locations supported:<\/strong><\/p>\n<ul>\n<li>Blog index (Posts page)<\/li>\n<li>All category archives<\/li>\n<li>Specific category archives \u2014 target individual categories with a built-in category picker<\/li>\n<li>Tag archives<\/li>\n<li>Author archives<\/li>\n<li>Search results pages<\/li>\n<li>Date archives<\/li>\n<\/ul>\n<p><strong>Display controls:<\/strong><\/p>\n<ul>\n<li><strong>Before or after<\/strong> the post loop \u2014 per section<\/li>\n<li><strong>Active \/ Inactive toggle<\/strong> \u2014 publish a section without displaying it yet<\/li>\n<li><strong>Visibility by login state<\/strong> \u2014 show to everyone, logged-in users only, or logged-out visitors only<\/li>\n<\/ul>\n<p><strong>Admin experience:<\/strong><\/p>\n<ul>\n<li>At-a-glance list table with Active, Location, Position, and Visibility columns<\/li>\n<li>One-click <strong>Duplicate<\/strong> action to clone any section as a draft<\/li>\n<li><strong>Preview link<\/strong> in the meta box that jumps straight to the relevant archive page<\/li>\n<li>Display order controlled via the standard <strong>Order<\/strong> field (Page Attributes)<\/li>\n<\/ul>\n<p><strong>Performance &amp; security:<\/strong><\/p>\n<ul>\n<li><strong>Transient caching<\/strong> \u2014 sections are cached per location, position, and login state; cache is busted automatically when a section is saved or the plugin is deactivated<\/li>\n<li>Admin CSS and JavaScript load <strong>only on the Archive Sections edit screen<\/strong> \u2014 zero frontend asset overhead<\/li>\n<li>All inputs validated against whitelists; category IDs cast with <code>absint()<\/code>; nonces verified with <code>sanitize_key()<\/code><\/li>\n<li>Works with all standard caching plugins<\/li>\n<\/ul>\n<p><strong>For developers:<\/strong><\/p>\n<ul>\n<li><code>kcas_query_args<\/code> \u2014 filter the WP_Query args before sections are fetched<\/li>\n<li><code>kcas_section_html<\/code> \u2014 filter the HTML of an individual section<\/li>\n<li><code>kcas_sections_html<\/code> \u2014 filter the complete output wrapper HTML<\/li>\n<li><code>kcas_before_sections<\/code> \u2014 action fires before the sections wrapper is output<\/li>\n<li><code>kcas_after_sections<\/code> \u2014 action fires after the sections wrapper is output<\/li>\n<li>Sections are wrapped in <code>&lt;section class=\"kcas-archive-section\" id=\"kcas-section-{ID}\"&gt;<\/code> and <code>&lt;div class=&quot;kcas-archive-sections kcas-archive-sections--{before|after}&quot;&gt;<\/code> for easy CSS targeting<\/li>\n<\/ul>\n<p><strong>Perfect for:<\/strong><\/p>\n<ul>\n<li>Hero banners or intro text above your blog feed<\/li>\n<li>Promotional blocks, CTA banners, or newsletter sign-ups below posts<\/li>\n<li>Category-specific messaging (e.g. a disclaimer on a legal advice category)<\/li>\n<li>Showing different content to logged-in members vs. public visitors<\/li>\n<li>Search results page enhancements<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Add reusable content sections before or after posts on any archive page \u2014 blog index, categories, tags, authors, search results, and more.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[1387,940,1388,1389,641,555],"class_list":["post-10749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-archive","tag-blog","tag-category","tag-content-sections","tag-gutenberg","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10749"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10749\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}