2026年11月14日

2026年11月14日

Toolset Types: Create Custom Post Types and Fields and Display Them

This article is a localized edition of the Japanese original. Read the Japanese original

Toolset is a suite of paid WordPress plugins developed by OnTheGoSystems. Its core component, Toolset Types, lets you create custom post types, taxonomies, custom fields and relationships between posts from the admin screens. You then display what you create with Toolset Blocks (the component for building layouts in the block editor) or from your theme's PHP.

This article walks through creating a custom post type plus post and user custom fields with Toolset Types, and outputting their values in theme templates. Screen names follow the official Toolset documentation (toolset.com), checked as of November 2026.

What to know before you start

  • Toolset is not in the wordpress.org plugin directory. Searching under "Add Plugin" in the admin won't find it, so you download the ZIP from your toolset.com account and install it.
  • Updates and support require an active subscription. If you don't renew, plugin updates stop arriving.
  • Some features are legacy. The official "Legacy features" documentation lists Toolset Views, Toolset Layouts, Toolset Maps and others as still supported, with their documentation provided as-is. On the official forum, staff have said that support continues but development of new features is on hold. If you plan to use it long term on a new site, factor this in when you choose.

If all you need is one extra custom post type, you can also register it without a plugin using register_post_type(). See How to register a custom post type in WordPress for the steps.

Step 1: Install Toolset Types and register your site

  1. Log in to toolset.com and download the Toolset Types ZIP from your account's downloads page.
  2. In the WordPress admin, go to Plugins → Add Plugin → Upload Plugin, choose the ZIP, install it and activate it.
  3. On the Sites page of your toolset.com account, create a site key for this site's URL. Site keys are issued per site URL.
  4. Open the Commercial tab on the admin's "Add Plugin" screen, enter the site key and register. Once registered, you can install other components such as Toolset Blocks from this screen.

Development and staging sites have different URLs, so each needs its own site key. A single-site plan includes only one key, so check what your plan covers before registering anything other than production.

Step 2: Create a custom post type

  1. In the admin, open Toolset → Dashboard.
  2. Click Add new post type.
  3. Enter the plural name (for example, Books) and the singular name (for example, Book). The slug is filled in automatically (for example, book).
  4. In the Options section below, decide on permalinks, whether there is an archive, how the type appears in the admin, and so on. These map to the arguments of WordPress's register_post_type(). If you're unsure, the defaults are fine.
  5. Click Save Post Type.

After saving, the new post type appears in the admin's left-hand menu. If you get a 404 on its permalinks, go to Settings → Permalinks and click "Save Changes" to rebuild the rewrite rules.

Step 3: Create custom fields for posts

  1. In Toolset → Dashboard, click Add custom fields in the row of the post type you created.
  2. Choose a field type (single line, number, image, date and so on).
  3. Enter a field name (for example, Price). The slug is filled in automatically (for example, price).
  4. Set the options for that field type.
  5. Add more fields with Add New Field if you need them, then click Save Field Group.

The fields now appear on the edit screen for that post type.

You can also create a field group from Toolset → Custom Fields with Add New and choose the target post type under "Where to include this Field Group". To let a single field take multiple values, select Allow multiple instances of this field in the field's settings (some field types can't repeat).

Step 4: Create custom fields for users

Use user fields when you need per-user information, such as a member's organization or area of expertise.

  1. Open Toolset → Custom Fields and click Add New.
  2. Choose User Fields as the kind of group to create.
  3. Name the group and add fields.
  4. Under Where to display this group, select the user roles that use this group (Administrator, Editor, Subscriber and so on), then save.

The fields appear on the profile edit screen for users with the selected roles. If they don't show up, check that the user's role is included in the group's display targets.

Step 5: Display values in theme templates

If you build layouts with a block theme or the block editor, use Toolset Blocks. If you write PHP templates directly in a classic theme, use Toolset's functions.

<?php
// In a template such as single-book.php (inside the Loop)

// Post field. 'output' => 'raw' returns the stored value without formatting
if ( function_exists( 'types_render_field' ) ) {
	echo esc_html( types_render_field( 'price', array( 'output' => 'raw' ) ) );
}

// User field. Outputs the value for the logged-in user
if ( function_exists( 'types_render_usermeta' ) ) {
	echo esc_html( types_render_usermeta( 'department', array( 'output' => 'raw', 'user_current' => true ) ) );
}

// When reading without Toolset's functions, the meta key has a wpcf- prefix
$price = get_post_meta( get_the_ID(), 'wpcf-price', true );
echo esc_html( $price );

The key points:

Item Details
Specifying the field Pass the field slug (price) as-is to types_render_field() and similar functions
Reading with core WordPress functions With get_post_meta(), use the prefixed key, such as wpcf-price
The output argument raw returns the stored value itself. Without it, the value comes back in Toolset's format (an img tag for images, for example)
A specific user Pass user_id to types_render_usermeta() to get that user's value
Checking the function exists Wrap calls in function_exists() so the site doesn't hit a fatal error if Toolset is deactivated

Things to watch in day-to-day use

  • Deactivating the plugin makes post types seem to disappear. Toolset registers the custom post types, so if you deactivate it they vanish from the admin. The posts and field values stay in the database, but to show them again you have to reactivate Toolset or write your own register_post_type() with the same slug.
  • Avoid changing slugs later. A field's slug is used in the meta key (wpcf-{slug}) and in your template code, so changing it breaks the link to existing values and templates.
  • Back up before changing settings. Changes to post types and field groups affect both the database and what's displayed.

Summary

  • Toolset is a paid plugin you get from toolset.com, and Types handles custom post types and fields
  • Create post types with Add new post type in Toolset → Dashboard, and fields with Add custom fields or Toolset → Custom Fields
  • For user fields, create a User Fields group and choose the roles that see it
  • In templates, use types_render_field() and types_render_usermeta(); with core functions, add the wpcf- prefix
  • Keep in mind that new feature development is on hold when deciding whether to rely on it long term

To compare it with another custom fields plugin, see also How to use Advanced Custom Fields (ACF).

Questions about WordPress? The publisher of this site is based in Japan and replies in Japanese. Contact (Japanese)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲