BranchDesk

Description

BranchDesk adds a fast, REST-first admin explorer for posts, pages, public custom post types, and WooCommerce products when available.

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.

Current features include:

  • Visual content tree for enabled public post types.
  • Root grouping by post type, such as Pages, Posts, Movies, Products, and other custom post types.
  • Expandable and collapsible group labels.
  • Nested page and content organization display.
  • Drag and drop nesting and sibling reordering.
  • Safe hierarchy handling: native WordPress hierarchy is used only when appropriate.
  • Custom organization relationships for same-type non-hierarchical post type nesting.
  • Search across enabled content.
  • Taxonomy and category term badges.
  • Taxonomy term filtering.
  • Status filtering for active, published, draft, pending, scheduled, private, and trashed content.
  • Create menu for enabled post types.
  • Edit, rename, view, publish, switch to draft, move to Trash, and restore actions where the current user has permission.
  • Status badges and child count badges.
  • Front page and posts page indicators for Pages configured in WordPress Reading settings.
  • Relationship source badges for native hierarchy and Content Tree organization.
  • Optional shortcode output for frontend navigation.
  • Optional native WordPress menu sync for published Pages.
  • REST endpoints for listing, search, CRUD, move, and bulk operations.
  • Settings, tools, and developer debug screens.
  • Translation-ready plugin strings.
  • Developer architecture for future node providers and modules.

Content Tree stores flexible organization relationships in its own table where needed. For example, a Page under a Page can use the native WordPress post_parent field, while same-type non-hierarchical content can use a Content Tree relationship so WordPress core hierarchy is not confused.

Features

Content Explorer

  • Unified tree interface for Posts, Pages, and enabled public custom post types.
  • Post type grouping at the root level.
  • Automatic post type labels and icons where available.
  • Expand and collapse support.
  • Nested children are loaded and displayed in the tree.
  • Child counts for loaded parent nodes.
  • Taxonomy and category badges are displayed as metadata, not as hierarchy parents.
  • Toolbar filtering by available taxonomy terms.
  • Toolbar filtering by content status, including Trash.
  • Front page and posts page icons for Pages selected in Settings > Reading.

Organization

  • Drag content onto another same-type content item to organize it.
  • Drag content before or after a same-type sibling to reorder it.
  • Native WordPress hierarchy is preserved for safe same-type hierarchical relationships.
  • Same-type non-hierarchical organization uses plugin-owned relationship storage.
  • Root items with a custom Content Tree parent are hidden from root to avoid duplicates.
  • Drag and drop does not add or remove taxonomy terms.

Content Actions

  • Create enabled post types as drafts.
  • Rename content inline through the admin tree.
  • Publish drafts and switch published content back to draft where the user has permission.
  • Move content to Trash with confirmation.
  • Restore trashed content from the Trash status filter.

Admin Tools

  • Main Content Tree screen.
  • Settings screen for enabled post types and behavior controls.
  • Tools screen with developer debug mode.

Frontend Navigation

  • Shortcode: [branchdesk_content_tree_menu].
  • Optional native menu sync creates or updates a normal WordPress menu under Appearance > Menus.
  • Native menu sync is Pages-only in this version.
  • Generated menus can be assigned to theme menu locations using WordPress menu settings.
  • Manual edits to the generated menu may be overwritten when syncing.

Developer Architecture

  • Object-oriented PHP architecture.
  • Lightweight service container.
  • REST-first node operations.
  • Node provider contracts.
  • Module registry contracts.
  • Async queue foundation for future background tasks.
  • Extension contracts for future modules.

Developer Notes

The plugin keeps its PHP internals separate from the public plugin name so extensions can rely on stable APIs.

The WordPress.org plugin directory requires this readme.txt file. A separate README.md may be added later for GitHub or developer documentation, but it should not replace this file.

Installation

  1. Upload the branchdesk folder to /wp-content/plugins/.
  2. Activate “BranchDesk” in WordPress admin.
  3. Open Content Tree from the admin menu.
  4. Visit Content Tree > Settings to choose enabled post types.

FAQ

Does this replace the WordPress Pages screen?

No. Content Tree provides a modern organization and navigation interface. WordPress core screens remain available.

Can I drag a Post under a Page?

No. Different content types cannot be nested under each other in this version. This keeps WordPress core hierarchy and Content Tree organization predictable.

Are categories or custom taxonomies used as tree parents?

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.

When does the plugin use WordPress native `post_parent`?

Native hierarchy is used only for safe same-type hierarchical relationships, such as Page under Page.

Can custom post types appear in the tree?

Yes. Public post types with admin UI support can be enabled from Content Tree settings. For example, a custom movie post type can appear under a Movies group.

Does the plugin require WooCommerce?

No. If WooCommerce is installed and products are enabled as a public post type, they can be shown in the tree.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“BranchDesk” is open source software. The following people have contributed to this plugin.

Contributors

Translate “BranchDesk” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.0

  • Initial architecture and MVP scaffold.
  • Added grouped root display for enabled post types.
  • Added safe native-vs-custom hierarchy handling.
  • Added custom relation storage for same-type non-hierarchical organization.
  • Added create menu for enabled post types.
  • Added child count badges and always-visible node actions.
  • Added status filtering, publish/draft switching, Trash, and Restore actions.
  • Added front page and posts page indicators.
  • Added frontend navigation shortcode.
  • Added optional Pages-only native WordPress menu sync.
  • Added sibling reordering with before and after drop targets.
  • Added taxonomy/category badges and term filtering.