Last active
October 12, 2023 15:19
-
-
Save hbaker/edd05135ea9089f09c1983901df5e405 to your computer and use it in GitHub Desktop.
Divi Theme - Rename Divi's 'Projects' Custom Post Type
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// RENAME DIVI PROJECTS CUSTOM POST TYPE | |
function ze_rename_projects_cpt() { | |
register_post_type( 'project', | |
array( | |
'labels' => array( | |
'name' => __( 'Specials', 'divi' ), // CHANGE SPECIALS TO WHATEVER YOU WANT | |
'singular_name' => __( 'Special', 'divi' ), // CHANGE SPECIAL TO WHATEVER YOU WANT | |
), | |
'has_archive' => true, | |
'hierarchical' => true, | |
'public' => true, | |
'rewrite' => array( 'slug' => 'special', 'with_front' => false ), // CHANGE SPECIAL TO WHAT YOU WANT YOUR SLUG TO BE | |
'menu_icon' => 'dashicons-tag', // CHANGE TO AN ICON TO MATCH YOUR NEW POST TYPE | |
'supports' => array(), | |
)); | |
} | |
add_action( 'init', 'ze_rename_projects_cpt' ); | |
// END RENAME DIVI PROJECTS CUSTOM POST TYPE |
Super efficient for those who work with DiVi,
Thank you very much for your contribution!
A better way would be to use the filter register_post_type_args. Something like this:
function projects_to_teams($args, $post_type)
{
if ($post_type == 'project') {
$args['rewrite']['slug'] = 'team';
$args['menu_icon'] = 'dashicons-groups';
$args['labels'] = array(
'name' => _x('Team Members', 'Post Type General Name', 'textdomain'),
'singular_name' => _x('Team Member', 'Post Type Singular Name', 'textdomain'),
);
}
return $args;
}
add_filter('register_post_type_args', 'projects_to_teams', 10, 2);
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks a lot, that worked like a charm. To still be able to access it through the Wordpress REST Api, I had to add additional arguments:
This way the posts will be returned to the following endpoint: /wp-json/wp/v2/customslug