CC Child Pages

Descripción

CC Child Pages displays WordPress child pages of any parent page in a responsive grid or list layout, making it easy to display hierarchical page structures, subpages and navigation.

You can use it in page content, widget areas, or templates using:

  • the [child_pages] shortcode,
  • the CC Child Pages Gutenberg block, or
  • the CC Child Pages Elementor widget (when Elementor is active).

All output methods use a modern CSS system based on CSS variables and flexible grid layouts for improved theme compatibility. For older or heavily customised themes, a Legacy CSS mode is available — either by checking the Use Legacy CSS option in the block or Elementor sidebar, or by setting use_legacy_css="true" in the shortcode.

This makes it ideal for building sub-navigation sections, page directories, or visual site maps.

Full documentation is available at docs.ccplugins.co.uk

Features

  • Display WordPress child pages in grid or list layout
  • Supports shortcode, Gutenberg block and Elementor widget
  • Flexible column layouts (1–6 columns)
  • Modern CSS system based on CSS variables
  • Optional Legacy CSS mode for older themes
  • Pagination and sorting controls
  • Custom field overrides
  • Lazy loading support
  • Fully translatable

A Pro add-on is also available at ccplugins.co.uk which adds additional display skins, advanced layout controls, colour customisation options and Elementor enhancements.

What’s New in 2.x

  • Gutenberg block with live preview
  • Elementor widget integration
  • Modern CSS skins using CSS variables
  • Legacy CSS compatibility toggle
  • Reorganised shortcode structure
  • Continued support for the classic widget (legacy)

How It Works

Gutenberg Block

Insert the CC Child Pages block in the editor. Configure:

  • Parent page
  • Columns
  • Thumbnails
  • Excerpt display
  • Sorting
  • Legacy CSS toggle

The block provides a live preview while editing.

Elementor Widget

If Elementor is installed and active, a CC Child Pages widget becomes available.

The widget is located inside the CC Plugins category within the Elementor panel.

You can:

  • Select the parent page
  • Choose columns (1–6)
  • Enable thumbnails and lazy loading
  • Control excerpt display
  • Configure sorting
  • Enable Legacy CSS if required

All shortcode options are available via intuitive controls in the Elementor sidebar.

The widget renders the same output structure as the shortcode and block, ensuring consistent styling across editors.

Shortcode

Insert:

[child_pages]

By default, this displays the child pages of the current page.

To enable legacy styling:

[child_pages use_legacy_css="true"]

The shortcode supports detailed layout and query control, documented below.

Complete Shortcode Guide

1. Basic Usage

Display children of current page:

[child_pages]

Display children of a specific page:

[child_pages id="42"]

Display specific pages only:

[child_pages page_ids="3,7,10"]

Exclude specific pages:

[child_pages exclude="5,9,12"]<h3>2. Grid Layout Options</h3>

Choose number of columns:

[child_pages cols="1"]
[child_pages cols="2"]
[child_pages cols="3"]
[child_pages cols="4"]
[child_pages cols="5"]
[child_pages cols="6"]

Choose skin:

[child_pages skin="simple"]
[child_pages skin="red"]
[child_pages skin="green"]
[child_pages skin="blue"]
[child_pages skin="sleek"]
[child_pages skin="bold"]

Add custom wrapper class:

[child_pages class="my-custom-grid"]<h3>3. List Mode (Instead of Grid)</h3>

Display as unordered list:

[child_pages list="true"]

Control hierarchy depth:

[child_pages list="true" depth="0"]

Depth values:

  • 0 – unlimited depth (nested list)
  • -1 – flat list
  • 1 – top level only
  • 2, 3, 4 – specific depth

In list mode, only these attributes apply:

id, `exclude`, `orderby`, `order`, `cols`, `class`, `depth`<h3>4. Thumbnails</h3>

Show featured images:

[child_pages thumbs="true"]

Specify size:

[child_pages thumbs="large"]
[child_pages thumbs="full"]
[child_pages thumbs="my-custom-size"]

Make thumbnails clickable:

[child_pages thumbs="medium" link_thumbs="true"]

Enable lazy loading:

[child_pages thumbs="medium" lazy_load="true"]
[child_pages thumbs="medium" link_thumbs="true" lazy_load="true"]<h3>5. Titles & Links</h3>

Make titles clickable:

[child_pages link_titles="true"]

Hide titles:

[child_pages hide_title="true"]

Hide “Read more” link:

[child_pages hide_more="true"]

Change “Read more” text:

[child_pages more="View Details"]

Open links in new tab:

[child_pages link_target="_blank"]<h3>6. Excerpt Control</h3>

Limit word count:

[child_pages words="20"]

Disable excerpt truncation:

[child_pages truncate_excerpt="false"]

Hide excerpt completely:

[child_pages hide_excerpt="true"]

Hide WordPress “Continue reading” text:

[child_pages hide_wp_more="true"]

Show full page content:

[child_pages show_page_content="true"]<h3>7. Sorting & Query Control</h3>

Order results:

[child_pages orderby="title" order="ASC"]

Supported orderby values:

  • menu_order (default)
  • id
  • title
  • slug
  • author
  • date
  • modified
  • rand

Limit number displayed:

[child_pages limit="5"]

Offset results:

[child_pages offset="2"]

Display sibling pages:

[child_pages siblings="true"]

Include current page with siblings:

[child_pages siblings="true" show_current_page="true"]<h3>8. Pagination</h3>

Enable pagination:

[child_pages posts_per_page="6"]

Force a specific page:

[child_pages posts_per_page="6" page="2"]

Pagination does not apply in list mode.

9. Post Status Control

By default:

  • Published pages are shown
  • Private pages are shown to authorised users

Specify manually:

[child_pages post_status="publish"]
[child_pages post_status="publish,private"]<h3>10. Display Meta Information</h3>

Show author:

[child_pages show_author="true"]

Show creation date:

[child_pages show_date_created="true"]

Show modified date:

[child_pages show_date_modified="true"]<h3>11. Custom Fields (Advanced)</h3>

Override default values using meta fields.

[child_pages use_custom_excerpt="custom_excerpt"]
[child_pages use_custom_title="custom_title"]
[child_pages use_custom_thumbs="custom_thumb"]
[child_pages use_custom_link="custom_link"]
[child_pages use_custom_link_target="custom_target"]

Custom field overrides are ignored in list mode.

12. Sticky Posts

Sticky posts are ignored by default.

To include them:

[child_pages ignore_sticky_posts="false"]<h3>License</h3>

This plugin is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License v2 or later.

See https://www.gnu.org/licenses/gpl-2.0.html

Capturas

  • CC Child Pages block in the Gutenberg editor.
  • Example grid layout using the “Sleek” skin.
  • List view.
  • Classic widget (legacy mode for existing installs).

Bloques

Este plugin provee 1 bloque.

  • CC Child Pages Display a list of child pages with flexible layouts, skins, and query options.

Instalación

  1. Upload the plugin folder to /wp-content/plugins/ or install via the WordPress Plugins screen.
  2. Activate the plugin.
  3. Insert the block, Elementor widget or add [child_pages] to your content.
  4. Adjust settings as required.

Preguntas frecuentes

How do I display WordPress child pages?

Insert the [child_pages] shortcode, use the Gutenberg block or add the Elementor widget.

How do I list subpages in WordPress?

Use the shortcode, block or Elementor widget to display child pages of any parent page in a grid or list.

Can I show child pages in Elementor?

Yes. When Elementor is active, a CC Child Pages widget appears in the CC Plugins category.

Is Elementor required?

No. Elementor integration is optional. The shortcode and block work independently.

Will the classic widget be removed?

No. The classic widget remains available for compatibility.

Does it work with Full Site Editing themes?

Yes. Modern CSS inherits typography and colours from the active theme.

What if my layout looks incorrect?

Enable Legacy CSS:

Block: Enable “Use Legacy CSS” in the sidebar.
Shortcode: [child_pages use_legacy_css="true"]
Elementor: Enable Legacy CSS in the widget settings.

Is there a Pro version?

Yes. A Pro version is available which adds additional skins, enhanced design controls and advanced layout options.

More information is available at https://ccplugins.co.uk/plugins/cc-child-pages-pro/

Does it support multilingual sites?

Yes. All text strings are translatable via standard .po and .mo files.

Reseñas

20 de abril de 2024
Works well; is fairly straight forward to use. Supports siblings as well, which is a nice capability.
29 de diciembre de 2023
Using it for parent pages with the [child_pages] shortcode and the widget for a hierarchical list of photo gallery pages. Works like a charm, great plugin, many thanks to Caterham Computing for the development. Integrating the [child_pages] button with the blocks editor would be very high on my wishlist, including more of the available options.
25 de noviembre de 2023
I needed a plug-in to show the child pages on a front “overview” page for each section of my website, and this plug-in does so perfectly. Much easier to use and set up on the current version of Wordpress than all of the other plug-ins I tried! (As an aside, it works GREAT with Oxygen Builder!)
11 de septiembre de 2023
I needed a way to create page lists, preferably with thumbnail and excerpt, found this plugin after almost giving up–most are for posts and images–and had my lists with thumbnail and excerpt set up within minutes. Really clear instructions for adding parameters to the shortcode. At some point I want to style the text, but for now, this is great.
Leer todas las 49 reseñas

Colaboradores y desarrolladores

“CC Child Pages” es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

“CC Child Pages” ha sido traducido a 4 idiomas. Gracias a los traductores por sus contribuciones.

Traduce “CC Child Pages” a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN , o suscríbete al log de desarrollo por RSS .

Registro de cambios

2.1.0

  • Added Elementor widget integration
  • Added CC Plugins Elementor category
  • Documentation updates

2.0.2

  • Removed CSS intended for future optional title truncation accidentally included in modern CSS

2.0.1

  • Security update

2.0.0

  • Added Gutenberg block
  • Introduced modern CSS system
  • Added Legacy CSS compatibility mode
  • Reorganised shortcode structure