AIOCPT - Manage AIO Custom Post Types


Create New Post Type

Supports
  • Title
  • Editor
  • Featured Image
  • Custom Fields
Taxonomies
  • Category
  • Tags

Existing Custom Post Types

$data ): ?>
Slug Name Singular Name Public Archive Hierarchical Actions
$name, "singular" => $singular, "supports" => $supports, "public" => $public, "has_archive" => $has_archive, "hierarchical" => $hierarchical, "taxonomies" => $taxonomies, ]; update_option("aiocpt_post_types", $post_types); // Register the custom post type with a prefixed slug register_post_type("aio-custom-post-type" . $slug, [ "labels" => [ "name" => $name, "singular_name" => $singular, ], "public" => $public, "has_archive" => $has_archive, "hierarchical" => $hierarchical, "supports" => $supports, "taxonomies" => $taxonomies, ]); // Redirect to avoid resubmission wp_redirect(admin_url("admin.php?page=aio-custom-post-type")); exit; } // Handle post type deletion if ( isset($_POST["delete_slug"]) && check_admin_referer("aiocpt_delete_post_type", "aiocpt_nonce") ) { $slug = isset($_POST["delete_slug"]) ? sanitize_key($_POST["delete_slug"]) : ""; if (!empty($slug)) { // Delete post type data $post_types = get_option("aiocpt_post_types", []); unset($post_types[$slug]); update_option("aiocpt_post_types", $post_types); // Remove the post type registration unregister_post_type($slug); // Redirect to avoid resubmission wp_redirect(admin_url("admin.php?page=aio-custom-post-type")); exit; } } }); // Register saved custom post types add_action("init", function () { // Register your post types $post_types = get_option("aiocpt_post_types", []); foreach ($post_types as $slug => $data) { register_post_type($slug, [ "labels" => [ "name" => $data["name"], "singular_name" => $data["singular"], ], "public" => $data["public"], "has_archive" => $data["has_archive"], "hierarchical" => $data["hierarchical"], "supports" => $data["supports"], "taxonomies" => $data["taxonomies"], "show_in_rest" => true, "rewrite" => [ "slug" => $slug, "with_front" => false, "feeds" => true, ], ]); } // Flush rewrite rules flush_rewrite_rules(); });