{"id":319131,"date":"2026-06-23T13:29:19","date_gmt":"2026-06-23T13:29:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nodepress-content-tree\/"},"modified":"2026-06-23T13:28:48","modified_gmt":"2026-06-23T13:28:48","slug":"branchdesk","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/branchdesk\/","author":8124206,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.0","requires":"6.8","requires_php":"8.1","requires_plugins":null,"header_name":"BranchDesk","header_author":"Claud Chan","header_description":"A modern visual hierarchical content explorer and management system for WordPress admin.","assets_banners_color":"","last_updated":"2026-06-23 13:28:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/github.com\/claudchan","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"claudchan","date":"2026-06-23 13:28:48"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Content Tree admin explorer with grouped post types.","2":"Nested content view with page children.","3":"Settings screen for enabling post types."}},"plugin_section":[],"plugin_tags":[83,529,1487,3956,243],"plugin_category":[],"plugin_contributors":[268547],"plugin_business_model":[],"class_list":["post-319131","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-content","plugin_tags-custom-post-types","plugin_tags-hierarchy","plugin_tags-pages","plugin_contributors-claudchan","plugin_committers-claudchan"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/branchdesk.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>BranchDesk adds a fast, REST-first admin explorer for posts, pages, public custom post types, and WooCommerce products when available.<\/p>\n\n<p>It is designed as a content organization layer, not only a page tree. The tree can show multiple enabled post types in a single admin screen while keeping WordPress native hierarchy safe.<\/p>\n\n<p>Current features include:<\/p>\n\n<ul>\n<li>Visual content tree for enabled public post types.<\/li>\n<li>Root grouping by post type, such as Pages, Posts, Movies, Products, and other custom post types.<\/li>\n<li>Expandable and collapsible group labels.<\/li>\n<li>Nested page and content organization display.<\/li>\n<li>Drag and drop nesting and sibling reordering.<\/li>\n<li>Safe hierarchy handling: native WordPress hierarchy is used only when appropriate.<\/li>\n<li>Custom organization relationships for same-type non-hierarchical post type nesting.<\/li>\n<li>Search across enabled content.<\/li>\n<li>Taxonomy and category term badges.<\/li>\n<li>Taxonomy term filtering.<\/li>\n<li>Status filtering for active, published, draft, pending, scheduled, private, and trashed content.<\/li>\n<li>Create menu for enabled post types.<\/li>\n<li>Edit, rename, view, publish, switch to draft, move to Trash, and restore actions where the current user has permission.<\/li>\n<li>Status badges and child count badges.<\/li>\n<li>Front page and posts page indicators for Pages configured in WordPress Reading settings.<\/li>\n<li>Relationship source badges for native hierarchy and Content Tree organization.<\/li>\n<li>Optional shortcode output for frontend navigation.<\/li>\n<li>Optional native WordPress menu sync for published Pages.<\/li>\n<li>REST endpoints for listing, search, CRUD, move, and bulk operations.<\/li>\n<li>Settings, tools, and developer debug screens.<\/li>\n<li>Translation-ready plugin strings.<\/li>\n<li>Developer architecture for future node providers and modules.<\/li>\n<\/ul>\n\n<p>Content Tree stores flexible organization relationships in its own table where needed. For example, a Page under a Page can use the native WordPress <code>post_parent<\/code> field, while same-type non-hierarchical content can use a Content Tree relationship so WordPress core hierarchy is not confused.<\/p>\n\n<h3>Features<\/h3>\n\n<h4>Content Explorer<\/h4>\n\n<ul>\n<li>Unified tree interface for Posts, Pages, and enabled public custom post types.<\/li>\n<li>Post type grouping at the root level.<\/li>\n<li>Automatic post type labels and icons where available.<\/li>\n<li>Expand and collapse support.<\/li>\n<li>Nested children are loaded and displayed in the tree.<\/li>\n<li>Child counts for loaded parent nodes.<\/li>\n<li>Taxonomy and category badges are displayed as metadata, not as hierarchy parents.<\/li>\n<li>Toolbar filtering by available taxonomy terms.<\/li>\n<li>Toolbar filtering by content status, including Trash.<\/li>\n<li>Front page and posts page icons for Pages selected in Settings &gt; Reading.<\/li>\n<\/ul>\n\n<h4>Organization<\/h4>\n\n<ul>\n<li>Drag content onto another same-type content item to organize it.<\/li>\n<li>Drag content before or after a same-type sibling to reorder it.<\/li>\n<li>Native WordPress hierarchy is preserved for safe same-type hierarchical relationships.<\/li>\n<li>Same-type non-hierarchical organization uses plugin-owned relationship storage.<\/li>\n<li>Root items with a custom Content Tree parent are hidden from root to avoid duplicates.<\/li>\n<li>Drag and drop does not add or remove taxonomy terms.<\/li>\n<\/ul>\n\n<h4>Content Actions<\/h4>\n\n<ul>\n<li>Create enabled post types as drafts.<\/li>\n<li>Rename content inline through the admin tree.<\/li>\n<li>Publish drafts and switch published content back to draft where the user has permission.<\/li>\n<li>Move content to Trash with confirmation.<\/li>\n<li>Restore trashed content from the Trash status filter.<\/li>\n<\/ul>\n\n<h4>Admin Tools<\/h4>\n\n<ul>\n<li>Main Content Tree screen.<\/li>\n<li>Settings screen for enabled post types and behavior controls.<\/li>\n<li>Tools screen with developer debug mode.<\/li>\n<\/ul>\n\n<h4>Frontend Navigation<\/h4>\n\n<ul>\n<li>Shortcode: <code>[branchdesk_content_tree_menu]<\/code>.<\/li>\n<li>Optional native menu sync creates or updates a normal WordPress menu under Appearance &gt; Menus.<\/li>\n<li>Native menu sync is Pages-only in this version.<\/li>\n<li>Generated menus can be assigned to theme menu locations using WordPress menu settings.<\/li>\n<li>Manual edits to the generated menu may be overwritten when syncing.<\/li>\n<\/ul>\n\n<h4>Developer Architecture<\/h4>\n\n<ul>\n<li>Object-oriented PHP architecture.<\/li>\n<li>Lightweight service container.<\/li>\n<li>REST-first node operations.<\/li>\n<li>Node provider contracts.<\/li>\n<li>Module registry contracts.<\/li>\n<li>Async queue foundation for future background tasks.<\/li>\n<li>Extension contracts for future modules.<\/li>\n<\/ul>\n\n<h3>Developer Notes<\/h3>\n\n<p>The plugin keeps its PHP internals separate from the public plugin name so extensions can rely on stable APIs.<\/p>\n\n<p>The WordPress.org plugin directory requires this <code>readme.txt<\/code> file. A separate <code>README.md<\/code> may be added later for GitHub or developer documentation, but it should not replace this file.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>branchdesk<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate \"BranchDesk\" in WordPress admin.<\/li>\n<li>Open Content Tree from the admin menu.<\/li>\n<li>Visit Content Tree &gt; Settings to choose enabled post types.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20the%20wordpress%20pages%20screen%3F\"><h3>Does this replace the WordPress Pages screen?<\/h3><\/dt>\n<dd><p>No. Content Tree provides a modern organization and navigation interface. WordPress core screens remain available.<\/p><\/dd>\n<dt id=\"can%20i%20drag%20a%20post%20under%20a%20page%3F\"><h3>Can I drag a Post under a Page?<\/h3><\/dt>\n<dd><p>No. Different content types cannot be nested under each other in this version. This keeps WordPress core hierarchy and Content Tree organization predictable.<\/p><\/dd>\n<dt id=\"are%20categories%20or%20custom%20taxonomies%20used%20as%20tree%20parents%3F\"><h3>Are categories or custom taxonomies used as tree parents?<\/h3><\/dt>\n<dd><p>No. Taxonomy terms are shown as badges and filters in this version. Dragging content does not assign or remove categories, tags, or custom taxonomy terms.<\/p><\/dd>\n<dt id=\"when%20does%20the%20plugin%20use%20wordpress%20native%20%60post_parent%60%3F\"><h3>When does the plugin use WordPress native `post_parent`?<\/h3><\/dt>\n<dd><p>Native hierarchy is used only for safe same-type hierarchical relationships, such as Page under Page.<\/p><\/dd>\n<dt id=\"can%20custom%20post%20types%20appear%20in%20the%20tree%3F\"><h3>Can custom post types appear in the tree?<\/h3><\/dt>\n<dd><p>Yes. Public post types with admin UI support can be enabled from Content Tree settings. For example, a custom <code>movie<\/code> post type can appear under a Movies group.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20require%20woocommerce%3F\"><h3>Does the plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>No. If WooCommerce is installed and products are enabled as a public post type, they can be shown in the tree.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial architecture and MVP scaffold.<\/li>\n<li>Added grouped root display for enabled post types.<\/li>\n<li>Added safe native-vs-custom hierarchy handling.<\/li>\n<li>Added custom relation storage for same-type non-hierarchical organization.<\/li>\n<li>Added create menu for enabled post types.<\/li>\n<li>Added child count badges and always-visible node actions.<\/li>\n<li>Added status filtering, publish\/draft switching, Trash, and Restore actions.<\/li>\n<li>Added front page and posts page indicators.<\/li>\n<li>Added frontend navigation shortcode.<\/li>\n<li>Added optional Pages-only native WordPress menu sync.<\/li>\n<li>Added sibling reordering with before and after drop targets.<\/li>\n<li>Added taxonomy\/category badges and term filtering.<\/li>\n<\/ul>","raw_excerpt":"A modern visual hierarchical content explorer and management system for WordPress admin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319131"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/claudchan"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319131"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319131"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319131"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319131"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319131"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}