WP Residence Help WP Residence Help

  • WPRESIDENCE
  • Video Tutorials
  • Client Support
  • API
Home / Technical how to | Custom Code Required / Technical: How to Add a new taxonomy

Technical: How to Add a new taxonomy

1844 views 0

WPResidence registers its custom post types and default property taxonomies through the WPResidence Core plugin (for example: wpresidence-core/post-types/property.php). For that reason, any custom taxonomy you add should be placed in a child theme (or a small custom plugin), not in the parent theme files.

1) Add the code in your child theme

Add the snippet below to:

  • Appearance → Theme File Editor → (your child theme) functions.php, or
  • via FTP in your child theme’s functions.php
<?php
/**
 * Register a custom taxonomy for WPResidence.
 * Tested with WPResidence 5.4.1+
 */

add_action( 'init', 'wpresidence_register_property_custom_taxonomy', 30 );

if ( ! function_exists( 'wpresidence_register_property_custom_taxonomy' ) ) {

	function wpresidence_register_property_custom_taxonomy() {

		$labels = array(
			'name'              => esc_html__( 'Custom Categories', 'wpresidence-core' ),
			'singular_name'     => esc_html__( 'Custom Category', 'wpresidence-core' ),
			'search_items'      => esc_html__( 'Search Custom Categories', 'wpresidence-core' ),
			'all_items'         => esc_html__( 'All Custom Categories', 'wpresidence-core' ),
			'parent_item'       => esc_html__( 'Parent Custom Category', 'wpresidence-core' ),
			'parent_item_colon' => esc_html__( 'Parent Custom Category:', 'wpresidence-core' ),
			'edit_item'         => esc_html__( 'Edit Custom Category', 'wpresidence-core' ),
			'update_item'       => esc_html__( 'Update Custom Category', 'wpresidence-core' ),
			'add_new_item'      => esc_html__( 'Add New Custom Category', 'wpresidence-core' ),
			'new_item_name'     => esc_html__( 'New Custom Category Name', 'wpresidence-core' ),
			'menu_name'         => esc_html__( 'Custom Categories', 'wpresidence-core' ),
		);

		register_taxonomy(
			'property_custom_category',         // 1) Taxonomy name (must be unique)
			array( 'estate_property' ),         // 2) Attach to WPResidence post type
			array(
				'labels'            => $labels,
				'hierarchical'      => true,
				'public'            => true,
				'show_ui'           => true,
				'show_admin_column' => true,
				'query_var'         => true,
				'show_in_rest'      => true, // Gutenberg/REST support
				'rewrite'           => array(
					'slug'         => 'custom_category',
					'with_front'   => false,
					'hierarchical' => true,
				),
			)
		);
	}
}

Notes:

  • estate_property is the WPResidence Property custom post type.
  • If you want to attach the taxonomy to other WPResidence content types, replace the object type array with one of the following:
    • Properties: estate_property
    • Agents: estate_agent
    • Agencies: estate_agency
    • Developers: estate_developer

(WordPress taxonomy registration reference)

2) Flush permalinks (important)

After adding the code, go to Settings → Permalinks and click Save Changes once. This flushes rewrite rules so your new taxonomy URLs work.

3) Add taxonomy terms

After that, you’ll be able to add terms for your new taxonomy from the WordPress admin (it will appear in the relevant admin menus once registered).

Important limitation (theme-specific)

Registering the taxonomy makes it available in WordPress (admin + URLs). If you also want that taxonomy to appear inside WPResidence-specific UI like advanced search builders, custom list filters, or special theme modules, additional theme integration is usually required (because those areas use internal field lists).

Technical how to | Custom Code Required

Related Articles

  • Technical: Change the Schedule Tour Email Text and the Form Default Message
  • Property list filter customization
  • Technical – How to Change the Minimum Image Dimensions for Property Uploads in WPResidence
  • Introduction to WPResidence Header Customization

Help Categories

  • 18Agent, Agency & Developers
  • 5Blog Posts & Blog Lists
  • 39Elementor Shortcodes Built-In
  • 46FAQ
  • 15Footer
  • 5Getting Started
  • 37Header
  • 2IDX & MLSImport
  • 6Installation & Setup
  • 24Installation FAQ
  • 23Maps & Location Settings
  • 21Multi-Language - Third Party Plugins
  • 6Other Third party Plugins
  • 21Pages
  • 4Payments & Monetization
  • 20Property Lists, Categories & Archive
  • 37Property Pages & Layouts
  • 31Search & Filtering
  • 162Technical how to | Custom Code Required
  • 8Technical: Actions and filters
  • 7Technical: Child Theme
  • 86Theme Options & Global Settings
  • 7Translations & Languages
  • 16WPBakery Shortcodes
  • 50WPEstate / WPResidence Translate Plugin
  • 51WPResidence / WPEstate CRM
  • 50WPResidence 5.0 Documentation
  • 9WPResidence Elementor Studio

Join Us On

Powered by WP Estate - All Rights Reserved
  • WPRESIDENCE
  • Video Tutorials
  • Client Support
  • API