WordPress will not automatically provide these features. From what you are describing, you will want to create custom post types, a taxonomy or two for classification and custom fields for the post types.
You COULD build all of this into a WordPress theme but the generally advised approach is to wrap your functionality into one or more plugins.
There is not a great deal of difference in the code you would write for this but plugins are independent of themes and provide more flexibility in that separation.
You will find plenty of good resources on crafting a plugin for WP:
https://codex.wordpress.org/Writing_a_Plugin
Registering new post types:
https://codex.wordpress.org/Function_Reference/register_post_type
Custom fields:
https://codex.wordpress.org/Function_Reference/register_taxonomy
… and specific questions or sticking points are welcome in a Q&A form on WPSE.
Good luck!
Related Posts:
- How can I configure Docker for developing and deploying a custom theme?
- How to create custom home page via plugin?
- Featured Image not showing in admin
- How Can I setup WP CLI on Windows development machine running AMPPS?
- WP_LOCALIZE_SCRIPT doesn’t work
- Are we allowed to use the Allman (BSD) indent style when coding WordPress plugins and themes?
- Customizer: widget-synced triggers twice
- WordPress not working on localhost
- Custom entity search and display
- Why in this archive page that call query_posts() function show only the last 10 posts?
- How to replace settings in WordPress plugin from a theme
- How to remove/replace current page template?
- Setting a post’s category
- Want to know how to reveal a WordPress theme, considering the theme name is hidden?
- Metabox types list
- Rate limiting ajax requests in WordPress
- Determine if the current page, is being edited
- Managing Custom Designed Content
- Best practice: What belongs in theme and what in plugin for large eCommerce website
- Adding class to the parent of current-post-ancestor / current-menu-parent / current-post-parent
- Is Explicit Versioning a better alternative to Semantic Versioning for wordpress?
- Is there any other ways to replicating changes on live from staging without pushing from git
- framework for plugin/theme options panel? [closed]
- Is it ever okay to include inline CSS in plugins?
- How to include jQuery and JavaScript files correctly?
- Single functions.php or split into many small files?
- No Error Log File, no debug info
- Is the new WordPress 3.1 admin bar pluggable and how can I extend it?
- What is the difference between esc_html and wp_filter_nohtml_kses?
- How to Change the Entire WordPress Admin panel Look and Feel?
- jQuery in header or footer
- Escaping built-in WP function return strings
- Having Problem On Getting WP Post Gallery Images URL
- What’s the difference between hooks, filters and actions? [duplicate]
- How to use wp_set_password in a plugin?
- How to bundle a plugin with a theme, or vice versa
- How to add Font Awesome 5 icons in WP Admin dashboard menu?
- What function to hook for changes made in status and visibility of a post
- Example of uninstaller routine to remove all custom theme options from wp_options
- Execution limit and Memory limit errors even i changed to 1024M and 600(cache.php,load.php)?
- Best choice of options/settings framework for plugin/theme development
- Display content from custom post without modifying the single template
- Adding functions to hooks from within a class
- Creating a Link Text like Submit Button in Admin Page
- SQL query for custom taxonomy slugs
- Tried in different ways but sidebar not working?
- How to hook a custom user function to a wordpress core ajax action?
- WP Gutenberg Blocks – How to limit first/root blocks
- How can we display product price $104 on the cart while the credit card payment method is checked?
- Following WordPress Markup Is mandatory, got awkward resultyby wordpress standard markup?
- How do I create plugin or theme using MVC pattern?
- Search: how to extend the existing search to include a custom table
- Is there documentation reference for forms in menu and setting pages?
- How to Get Current Custom Post Type Associated Taxonomy Term
- Plugin templates vs Parent Theme
- Enqueue script globally
- How to Control CSS of Admin On Creating only a Specific Custom Post Type
- Can’t change the style of a submit input type? [closed]
- Template directory in plugin
- Issue on Setting $icon_url Parameter on WP add_menu_page()
- unable to wp_enqueue_script(‘suggest’);
- Drawing the line between theme & plugin on large scale bespoke projects
- Apply styles to blockquote element with the WYSIWYG editor
- How to add plugin options in wp editor page
- Ajax: Populate with content from a post’s ID not working – duplicating current page html instead
- Gutenberg blocks error: Each child in a list should have a unique “key” prop
- Logout after clicking URL link results in “headers already sent” error
- Create fixed static pages
- Extract Information from post content (using regex?)
- Customise Grouped Product display in Woocommerce with custom column
- Why my theme’s css not working on another site
- How to show comments from different Plugins to same post type?
- Google Web Core Vitals – management, how to in wordpress and advice
- How to add quick edit on the list of users to edit custom fields?
- Impossible to declare box-shadow with wp.customize?
- Override category archive page title (not the head title)
- Where to save Gutenberg plugin data?
- WordPress how do I echo SUM from a column of a MySQL table by user id AND type_operation
- 400 Bad Request and illegal invocation in wp_ajax based on processData set to false or true
- How to prevent users from deleting their accounts?
- Hiding class namespace from plugin’s extensions
- Set widget icon in Customizer?
- Add function to Dokan ajax class
- PHP includes with AJAX actions
- How do I make two shortcode use the same id and increment it when I use them multiple times?
- Post Pagination does not working on WP-Query
- How to CRUD from wordpress database in wordpress theme?
- Dynamic sidebar areas not working on the Theme Customizer
- Custom Post Type and Functions
- Merge Codes using redux framework
- Issue on Getting Images URL of the Post Gallery
- variable created in page.php is null inside of header.php
- Updating Style From WP Options Setting Page
- WordPress Beginer to Guru [duplicate]
- append code after the_content not working
- Problem with Poedit [closed]
- Invalid Menu Items
- How react js and other Javascript Technologies works on WordPress plugin?
- Can I log the searches that are returning 404 in the DB?
- Remove Gutenberg Buttons Block