How you store your data has nothing to do with whether it is add/edited/removed from a plugin or your (child) theme’s functions.php file. So I’d say that your question is whether to add a custom post type or use a custom table for you ‘office’ entity.
You being new to WordPress, I’d advise you to go with custom post types. And use some plugin to create and manage it (like Pods or Custom Post Type UI). You can start off testing and making changes visually, which I think will be very convenient in your case. Then you can opt to implementing it with your own code.
Those plugins also allow you to add custom taxonomies for your added custom post types, so you should be good to go.
Related Posts:
- Custom media upload content for inserting custom post shortcode
- Redesigning Custom Post Type “Add New” page
- How to Remove Certain Screen Options and Meta Boxes from add/edit post type?
- Creating a default Custom Post Template that a Theme can override
- How to load a new template page according to a particular URL?
- How to get the custom page get_permalink?
- Updating post meta for custom post types
- remove custom taxonomy metabox form custom post type
- Custom Post Type Statuses
- How to Build a Movie Library in WordPress 3.x
- Get image URL from media library in input
- Way to hook into a sidebar call to replace it with a custom sidebar
- Loco Translate: Custom Post and Custom Taxonomy Labels not translated in wp-admin menu
- Is it possible to create Custom Post plug-in?
- Creating a custom post type, adding custom meta fields, preventing all future editability of posts of this type
- Making a Template for a CPT created by a plugin
- Unable to delete custom post types, confusion around capabilities
- Adding CSS to custom post type admin page causes error
- Redirect to another page using contact form 7? [closed]
- Disable Individual Plugins (specifically in Custom Post Types) on a per-post basis?
- Using ACF default value to autoincrement a number field
- How to Resize the Custom Post Images?
- Amazon.com intergration with WordPress?
- Adding custom meta boxes to specified custom post type
- Plugin generated unexpected output – No PHP errors
- Custom Post Type template for homepage
- Custom Post Type, Custom Columns List
- Need to edit author permissions | custom taxonomy
- Is it possible to pin a post in second position from top
- How to get the custom field value using SQL query
- Check if theme supports sidebar
- How to display the category name in the tab and post inside the tab in WordPress?
- custom post type plugin error [closed]
- How to display the custom post related blog by category?
- Problem with checked box on wp car manager plugin
- Ultimate Members Default Post Layout problem
- custom post type get_posts() function not work
- Create multiple posts when a custom post is created
- $wpdb->insert not working inside save_post tag
- Cannot view Custom Post Type no matter what I try
- How to add jquery to my custom post type wp plugin
- Synch Custom Post Types (and Custom Fields, Cats, etc.) Between WordPress Sites
- get_option include in my adsense
- Making a Custom Post Type Publish Loop
- Wrong block appender button showing
- How to access the page without registering in wordpress
- CPT template is not being automatically used single post pages
- How to make content as required in custom post type?
- public custom posts not showing in my wordpress plugin
- How to provide page_template path in custom plugin using WordPress
- Update my custom WordPress Plugin through my own server [duplicate]
- WordPress Vote Plugin – Vote Once and Track User
- How to read configuration file in wordpress or PHP
- Using the ‘draft_to_publish’ hook (post status transition)
- How to use a dedicated template for the Custom Post Type from a plugin?
- Setting up WordPress plugin’s page
- how does wp.media javascript library work?
- Loading class files via autoload method
- I would like to use create a function in my custom plugin to tell WP to use a different header
- Auto add content such as pages upon plugin activation?
- Escape when echoed
- WP_Query ordering numbers as letters
- How to change commenter links to /user/user_id?
- Execute a plugin only on post pages
- RW Meta Box ,Problem setting post title
- Create dynamic page content from custom WordPress plugin page
- WordPress Gutenberg react make import of __experimentalUseInnerBlocksProps which is no more experimetal
- How to stop activating a plugin and show admin notice when dependent plugins minimum version is not met
- How can I make my metabox appear?
- Separate database for a wordpress plugin
- remove all submenus from plugin
- How to prevent plugins from sniffing/stealing other plugins’ options?
- Hook for page Request?
- How to render a template file using shortcode inside a plugin
- How to Include Custom Post Content From Plugin
- Does WordPress check for updates of a plugin via plugins root folder name?
- Delete data from custom table when deleting a post
- Need to add/remove group of options and display them as rows
- Paypal Framework
- Fatal error “Call to undefined function is_plugin_active” each time the plugin is activated
- Getting Fatal error: Uncaught Error: Call to undefined function plugin_dir_path() when linking to another file within my wordpress plugin
- How to make WooCommerce multiple filter with custom meta fields
- Restrict Custom Post Type to One Item
- Plugin to Delete All Posts Monthly
- mailjet plugin – extend functionnalities and reuse api
- Can anyone tell me why I can’t edit a plugin when it is installed without having to re-install?
- Creating fields in the database
- wordpress select multiple options and illegal string offset ‘timeslot’ [closed]
- Creating Event Builder Plugin [closed]
- Create Custom Coupon Type
- How can I make my plugin detect if a certain theme is active?
- Plugin Block at the backend of every page or post
- Is it possible to create post in wordpress using postman?
- wp_enqueue_script doesn’t load JS in plugin
- AI Code For OpenAI
- Pulsing circle before the post title (Breaking news flash)
- WordPress custom block: Link saved in database not retrieved when editing post
- Accessing Correct Database to Create REST API Endpoint
- Detect if user is on the specific page in WordPress
- A multi-section WordPress store [closed]