As you know, Tainacan is a WordPress plugin and is built on top of this very well known platform. If you are familiar with WordPress it should be easy for you to understand how Tainacan is organized, how it interacts with the database and how to build your own features from it.
- Setting up a local environment - If you want to contribute to Tainacan core, you need a local environment. You can also use our Docker repository. Not needed if you want to develop themes or plugins.
- Key Concepts - First things first. Let's understand what is what in Tainacan.
- Tainacan Internals - Reference on Tainacan main classes and how to use them. If you need more details, check our Code Reference extracted from source code.
- Tainacan Hooks - Expand or modify different sections of code without modifying the plugin, using Actions and Filters, both in backend and frontend.
- Tainacan API - A Rest JSON API which you can use to get content from a Tainacan database.
- Roles and Capabilities - Basic information about data privacy and access levels in Tainacan.
Note
- Using Admin Form Hooks - Insert extra options to entities forms such as collection and items forms.
- Creating options in the Settings Page - A guide for registering and displaying options inside the Tainacan Settings Page.
- Creating Tainacan Admin Pages - A guide for creating your own Pages inside the Tainacan Admin.
- Creating a new Metadata Type - A guide for creating your custom Metadata Type.
- Creating a new Filters Type - A guide for creating your custom Filters Type.
- How to create Exporters, Importers and Exposers
- Registering New Vue Components - Registering new Vue components that can be used by your plugin, such as metadata and filter types or extra view modes.
- Tweaking the Tainacan Admin UI - Using a filter to set variables for customizing the Tainacan Admin panel.
- Using React Selection Components - Use our React selection components in your plugin to offer an advanced items selection flow.
Important
- Creating compatible themes - An Introduction on how to create a theme that fully support Tainacan features
- Tainacan Custom templates - Custom templates for those that Tainacan adds to WordPress Template Hierarchy
- Customizing the Items List - Tweaking the appearence of the items list
- Creating Extra View Modes - How to create Extra View Modes that will be avaialble for displaying items list
Tip
Warning
If you don't have experience with WordPress and would like to develop a plugin for Tainacan, or even contribute to the plugin, it's a good idea to learn some fundamentals. Those will be useful to everything you will deal with while working with Tainacan.
This is a non-exhaustive list of the most important topics you should look into:
- WP_Query class - This is the heart of WordPress, the class that gives you the interface to query for posts in the database. All interaction with the database in Tainacan uses this class.
- Custom Post types and taxonomies - All Tainacan entities, such as collections, metadata and items, are WordPress Custom post types, so it is helpful to understand how they are handled.
- The Loop - One of the main WordPress elements used to interact through posts. Useful especially if you are tweaking with themes.
- Template Tags - Simple functions used by theme developers to display dynamic content. Usually, these function are used inside "The Loop" and Tainacan implements it's own Template tags.
- Template Hierarchy - Crucial if working with themes.