This is a step-by-step walkthrough for registering a custom post type in Canvas Pro, adding fields to it, writing the templates that display it, and publishing your first post of that type.
Step 1: Register the type
In your WordPress admin, find the Canvas Pro menu and open Custom Post Types. Click Add new type. Give it a plural name (for the menu label and the archive heading) and a singular name (for the edit screen and the admin notices). The plugin generates a key and a rewrite slug from the plural name; you can edit both. The key is the internal identifier and cannot change after posts are created. The rewrite slug is the URL segment for the archive and the single post, and you can update it later.
Set whether you want an archive. If you turn the archive on, set an archive slug (the URL of the archive page) and a posts-per-page count if you want something other than the site default. The REST API toggle makes the type available to the block editor and to external applications; turn it on if you plan to use the type with other plugins or the site editor.
Save. Canvas Pro flushes the permalink rules on save, so the archive is live immediately. No trip to Settings, Permalinks required.
Step 2: Add fields
On the type’s edit screen, open the Fields section. Add a field for each piece of structured data the type needs. Give each field a label (shown in the editor) and a key (used in the template token). Choose the field type: text, text area, number, URL, date, select, checkboxes, or image. For select and checkboxes, add the choices. For the full reference on what each type stores and how it outputs, see Custom Post Type Field Types.
Save when your fields are set. You can add, reorder, or remove fields later, though removing a field discards its stored values on existing posts.
Step 3: Write the templates
Still on the type’s edit screen, open the Templates section. Three boxes are here: Post card, Single post, and Archive header.
The Post card is the markup for one post in the archive loop. Write it the way you would write a card component in raw HTML. Use {title}, {permalink}, {excerpt}, {thumbnail}, {date}, {author}, and {post_class} for the standard post fields, and {field:key} for any custom field. A starting point for a coffee roast type with a custom Origin field:
<article class="roast-card {post_class}">
<a href="{permalink}">{thumbnail}</a>
<h2><a href="{permalink}">{title}</a></h2>
<p class="origin">{field:origin}</p>
<p>{excerpt}</p>
</article>
The Single post is the markup for one full post. Use {content} for the full post body, and any field tokens you want on the detail view.
The Archive header prints above the post list on the archive page. Use {archive_title} for the type name and {archive_description} for an optional description.
Save. The live preview on the edit screen renders the templates with sample data so you can check the structure before publishing anything.
Step 4: Publish a post
The new type now has its own menu item in the admin. Open it and click Add new. The editor shows your custom fields in the sidebar or below the content area, labeled with the names you set. Fill them in, add content to the main editor if you are using {content} in the template, set a featured image if your template uses {thumbnail}, and publish.
Step 5: Check the front end
Visit the archive URL you set in step 1. Each published post should appear as the Post card markup you wrote, with its field values filled in. Click through to a single post and confirm the Single post template renders correctly. If the archive returns a 404, go to Settings, Permalinks and click Save to flush the rules manually; this should not happen on a fresh registration, but a cached server config can hold the old rules.
Editing the type later
Every save to the type definition is recorded in version history, so a bad edit to a template or field is never permanent. Open the type’s history to see the full change log and restore any prior version.