Title: CC Child Pages
Author: caterhamcomputing
Published: <strong>October 20, 2014</strong>
Last modified: March 5, 2026

---

Search plugins

![](https://ps.w.org/cc-child-pages/assets/banner-772x250.png?rev=3451087)

![](https://ps.w.org/cc-child-pages/assets/icon-256x256.png?rev=3451096)

# CC Child Pages

 By [caterhamcomputing](https://profiles.wordpress.org/caterhamcomputing/)

[Download](https://downloads.wordpress.org/plugin/cc-child-pages.2.1.1.zip)

 * [Details](https://wordpress.org/plugins/cc-child-pages/#description)
 * [Reviews](https://wordpress.org/plugins/cc-child-pages/#reviews)
 *  [Installation](https://wordpress.org/plugins/cc-child-pages/#installation)
 * [Development](https://wordpress.org/plugins/cc-child-pages/#developers)

 [Support](https://wordpress.org/support/plugin/cc-child-pages/)

## Description

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](https://docs.ccplugins.co.uk/plugins/cc-child-pages/)

#### 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](https://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

## Screenshots

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

## Blocks

This plugin provides 1 block.

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

## Installation

 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.

## FAQ

### 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/](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.

## Reviews

![](https://secure.gravatar.com/avatar/2f02cada0dce2e374631cd62ad931f8be90b083418220593e3f6b78ed2a3b031?
s=60&d=retro&r=g)

### 󠀁[Excellent. Used it for years, no problems](https://wordpress.org/support/topic/excellent-used-it-for-years-no-problems/)󠁿

 [Arthur A Fishburn](https://profiles.wordpress.org/ellenrose78/) October 15, 2025
1 reply

I’ve used this plug-in for years with no issues. It does what I need without problems.
I’m grateful for that.

![](https://secure.gravatar.com/avatar/8a181a2ece6cff9a6e9e745278901c9a6ba10cab9ab7a4195756fc64ddf67cb1?
s=60&d=retro&r=g)

### 󠀁[Excellent Plugin](https://wordpress.org/support/topic/excellent-plugin-9118/)󠁿

 [billher](https://profiles.wordpress.org/billher/) April 20, 2024

Works well; is fairly straight forward to use. Supports siblings as well, which 
is a nice capability.

![](https://secure.gravatar.com/avatar/43364b48e01581d5e03dada78df961e8fa3a925a590c54a3743b5fc57eaefea3?
s=60&d=retro&r=g)

### 󠀁[Great plugin for linking hierarchical pages](https://wordpress.org/support/topic/great-plugin-for-linking-hierarchical-pages/)󠁿

 [Martin Junius](https://profiles.wordpress.org/n0ll/) December 29, 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.

![](https://secure.gravatar.com/avatar/f30389d954bbcaab74367605793f5cbafb3186cac2b1fcb5a79fcad54ccdbbab?
s=60&d=retro&r=g)

### 󠀁[Just what I was looking for!](https://wordpress.org/support/topic/just-what-i-was-looking-for-554/)󠁿

 [illusorythrall](https://profiles.wordpress.org/illusorythrall/) November 25, 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!)

![](https://secure.gravatar.com/avatar/49a28ae4c74dbf654afe41a502be4d651327c890031cc50f3ea56962605b489d?
s=60&d=retro&r=g)

### 󠀁[Works great!](https://wordpress.org/support/topic/works-great-9034/)󠁿

 [ohliza](https://profiles.wordpress.org/ohliza/) November 10, 2023

Works as intended, thanks.

![](https://secure.gravatar.com/avatar/cf2fbaead3df6950d8774247b68db49db497c972f2d00fd79fa4f0eba28417b9?
s=60&d=retro&r=g)

### 󠀁[Quick and Easy](https://wordpress.org/support/topic/quick-and-easy-350/)󠁿

 [animalartist](https://profiles.wordpress.org/animalartist/) September 11, 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.

 [ Read all 49 reviews ](https://wordpress.org/support/plugin/cc-child-pages/reviews/)

## Contributors & Developers

“CC Child Pages” is open source software. The following people have contributed 
to this plugin.

Contributors

 *   [ caterhamcomputing ](https://profiles.wordpress.org/caterhamcomputing/)

“CC Child Pages” has been translated into 4 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/cc-child-pages/contributors)
for their contributions.

[Translate “CC Child Pages” into your language.](https://translate.wordpress.org/projects/wp-plugins/cc-child-pages)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/cc-child-pages/), check
out the [SVN repository](https://plugins.svn.wordpress.org/cc-child-pages/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/cc-child-pages/)
by [RSS](https://plugins.trac.wordpress.org/log/cc-child-pages/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.1.1

 * Fixed: Issue with the CC Child Pages Elementor widget that could prevent the 
   widget from being deleted, reordered or moved within the Elementor editor.
 * Fixed: Allows allows parent page ID to be set to 0 to show all top level pages.
 * Changed: Internal Elementor control key renamed from `id` to `parent_page_id`
   to avoid a conflict with Elementor’s internal model attributes.
 * Compatibility: Existing Elementor layouts remain fully compatible through automatic
   fallback to the legacy `id` setting.

#### 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

## Meta

 *  Version **2.1.1**
 *  Last updated **1 month ago**
 *  Active installations **10,000+**
 *  WordPress version ** 6.7 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/cc-child-pages/), [German](https://de.wordpress.org/plugins/cc-child-pages/),
   [German (Switzerland)](https://de-ch.wordpress.org/plugins/cc-child-pages/), 
   [Portuguese (Brazil)](https://br.wordpress.org/plugins/cc-child-pages/), and 
   [Russian](https://ru.wordpress.org/plugins/cc-child-pages/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/cc-child-pages)
 * Tags
 * [child pages](https://wordpress.org/plugins/tags/child-pages/)[elementor](https://wordpress.org/plugins/tags/elementor/)
   [page list](https://wordpress.org/plugins/tags/page-list/)[page navigation](https://wordpress.org/plugins/tags/page-navigation/)
   [subpages](https://wordpress.org/plugins/tags/subpages/)
 *  [Advanced View](https://wordpress.org/plugins/cc-child-pages/advanced/)

## Ratings

 4.9 out of 5 stars.

 *  [  46 5-star reviews     ](https://wordpress.org/support/plugin/cc-child-pages/reviews/?filter=5)
 *  [  2 4-star reviews     ](https://wordpress.org/support/plugin/cc-child-pages/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/cc-child-pages/reviews/?filter=3)
 *  [  1 2-star review     ](https://wordpress.org/support/plugin/cc-child-pages/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/cc-child-pages/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/cc-child-pages/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/cc-child-pages/reviews/)

## Contributors

 *   [ caterhamcomputing ](https://profiles.wordpress.org/caterhamcomputing/)

## Support

Issues resolved in last two months:

     1 out of 1

 [View support forum](https://wordpress.org/support/plugin/cc-child-pages/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://ccplugins.co.uk/donate/)