---
title: "How to Create Custom Loop Skin for Custom Post Types in WordPress?"
url: https://nexterwp.com/docs/create-custom-loop-skin-for-custom-post-types-in-wordpress/
date: 2023-05-06
modified: 2026-09-27
lang: en
author: "Aditya Sharma"
description: "A default post card shows a title, an image, a date and an excerpt. For a property listing that misses the price, the bedrooms and the location, which is everything..."
image: https://nexterwp.com/wp-content/uploads/2024/05/create-custom-loop-skin-for-custom-post-types-in-wordpress-1024x519.jpg
word_count: 507
---

# How to Create Custom Loop Skin for Custom Post Types in WordPress?

## Key Takeaways

- Nexter Blocks Pro requires the Post Listing block to enable custom loop skins, and it is switched on under Nexter > Blocks in the WordPress dashboard.
- Custom loop skins repeat per entry and pull custom fields as dynamic values, so one skin can serve several post types if their field names line up.
- Nexter Blocks Pro falls back to a plain list of posts when deactivated, and missing field values render as empty spaces instead of errors.

A default post card shows a title, an image, a date and an excerpt. For a property listing that misses the price, the bedrooms and the location, which is everything that matters.

A custom loop skin lets a custom post type show its own fields instead of pretending to be a blog post.

[LIVE BLOCK LINK](https://nexterwp.com/nexter-blocks/listing/wordpress-post-listing/)

## Before You Start

- **Edition:** **Pro** — custom loop skins needs Nexter Blocks Pro.- **Block to enable:** Post Listing, switched on under **Nexter > Blocks** in your WordPress dashboard.- **A custom post type with entries** and the custom fields you want to show.- The [loop skin basics](https://nexterwp.com/docs/create-custom-loop-skin-for-blog-post-in-wordpress/), since this builds on them.

## Video Tutorial

https://youtu.be/zkyVvoV1G5Y

## Steps

- Create a new **loop skin template**.

- Build the card and add your **custom fields** as dynamic values.

![Adding custom fields to the skin](https://nexterwp.com/wp-content/uploads/2026/09/pl-skin-style.webp)

- Save the skin.

- On the **Post Listing** block, set the post type and select the skin.

- Publish and check a real archive page.

## How It Behaves

The skin repeats per entry, and dynamic fields pull from whichever entry is being rendered.

- **Custom fields come through as dynamic values**, the same mechanism used for post title and date, so a field is just another value to place.- **The post type is set on the listing, not the skin.** That means one skin can serve several post types if their fields line up, and it also means selecting the wrong post type produces empty fields.- **An entry missing a field renders an empty space** rather than an error, so cards can look uneven where data is incomplete.- **The listing still owns the query**, including which post type appears.- **Measured with Nexter Blocks Pro deactivated:** this stops working. The block still renders a plain list of posts, so there is no error to see — just the feature quietly missing.

## Limitations

- **Pro only** — measured with Nexter Blocks Pro deactivated, the listing falls back to a plain rendering.- **Missing field values leave gaps.** Incomplete entries are visible immediately in a grid, so the data has to be reasonably complete.- **The skin is tied to your field names.** Rename a field and the skin needs updating.- **Field plugins differ.** How a field is exposed depends on how it was registered, so not every field is available as a dynamic value.- **You own the responsive behaviour and the accessibility**, as with any custom skin.

## Troubleshooting

### My custom fields are empty

Either the listing is set to the wrong post type, or the field is not exposed as a dynamic value. Check the post type first.

### Some cards have gaps

Those entries are missing that field. Fill the data, or design the card to cope with a missing value.

### The field is not offered as a dynamic value

It depends how the field was registered. Fields registered without REST or meta exposure may not be available.

### It works on one post type but not another

The field names differ. A skin is tied to the field names it was built with.

## Related Docs

- [Create a custom loop skin for blog posts](https://nexterwp.com/docs/create-custom-loop-skin-for-blog-post-in-wordpress/)- [Create a custom post type archive page](https://nexterwp.com/docs/create-custom-post-types-archive-page-in-wordpress/)- [Create a custom loop skin using inline editing](https://nexterwp.com/docs/create-custom-loop-skin-using-inline-editing-for-blog-post-in-wordpress/)- [Advanced tab settings](https://nexterwp.com/docs/use-advanced-tab-in-nexter-blocks/)

## Frequently Asked Questions

**Q: What do I need before creating a custom loop skin for a custom post type in WordPress?**
A: Nexter Blocks Pro is required, because custom loop skins need the Pro edition. The Post Listing block also has to be enabled under Nexter &gt; Blocks in your WordPress dashboard. On top of that, you need a custom post type with entries and the custom fields you want to show. This works best when you already understand loop skin basics, since this tutorial builds on that foundation.

**Q: Why are my custom fields empty in the listing card?**
A: Empty fields usually mean one of two things: the listing is set to the wrong post type, or that field is not exposed as a dynamic value. The post type is controlled on the listing, not inside the skin, so a mismatch can make every value look blank even when the data exists. That is why checking the post type first is the fastest fix.

**Q: Can one custom loop skin work for more than one post type?**
A: One skin can serve several post types if their field names line up. Nexter Blocks treats custom fields as dynamic values, so the skin is tied to the field names it was built with, not to a single content type. That makes reuse possible, but only when the underlying fields match closely enough. If the names differ, the same skin will not populate correctly.

**Q: Why do some cards have gaps in a custom loop skin grid?**
A: Gaps appear when an entry is missing a field that the card expects. Nexter Blocks renders an empty space instead of throwing an error, so incomplete data shows up immediately as uneven cards. That matters in grid layouts because missing values affect visual rhythm fast. The practical fix is either to fill the missing data or design the card so it can handle an absent value cleanly.

**Q: Why is a field not available as a dynamic value in Nexter Blocks?**
A: Field availability depends on how the field was registered. Fields registered without REST or meta exposure may not appear as dynamic values, even if they exist in your custom post type. That means this is often a field-registration issue rather than a problem with the loop skin itself. If a field never shows up in dynamic values, its registration method is usually the first thing to inspect.

**Q: What happens if I deactivate Nexter Blocks Pro after building a custom loop skin?**
A: The feature stops working and falls back to a plain rendering of posts. The block still renders, but the custom loop skin behavior quietly disappears, so there is no obvious error message to warn you. That makes Pro status important for production sites, especially if your archive design depends on custom fields like price, bedrooms, or location.
