=== SQL To CPT ===
Contributors: badasswp
Tags: sql, cpt, post, import, convert.
Requires at least: 6.0
Tested up to: 6.9
Stable tag: 1.4.1
Requires PHP: 7.4
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Import & Convert SQL tables to Custom Post Types (CPT). Migrate legacy SQL table data to WordPress custom post types of your choice. It's super fast!
== Installation ==
1. Go to 'Plugins > Add New' on your WordPress admin dashboard.
2. Search for 'SQL To CPT' plugin from the official WordPress plugin repository.
3. Click 'Install Now' and then 'Activate'.
4. Head over to the 'SQL to CPT' options page.
5. Upload an SQL file of your choice and convert it to a Custom Post Type (CPT).
== Description ==
This plugin helps you migrate legacy SQL database tables to WordPress' Custom Post Types (CPT). It provides a user-friendly UI interface that enables users upload an SQL file which is then parsed and converted to a CPT with meta data that is recognisable within WordPress.
If you ever need to migrate a non-WordPress database table into WP, look no further. This is exactly what you need!
= ✔️ Features =
Our plugin comes with everything you need to easily migrate SQL tables to CPTs.
✔️ Import & Convert to CPT feature.
✔️ Quick & Lightening Fast uploads.
✔️ Friendly, User Interface (UI).
✔️ Custom Post Type Capabilities.
✔️ Error Loggging Capabilities.
✔️ Custom Hooks to help you customize plugin behaviour.
✔️ Available in mutiple langauges such as Arabic, Chinese, Hebrew, Hindi, Russian, German, Italian, Croatian, Spanish & French languages.
✔️ Backward compatible, works with most WP versions.
= ✨ Getting Started =
Head over to the SQL to CPT options page. Upload an SQL file of your choice by clicking on the Import SQL File. This would analyse your SQL table and show you the table name and table columns you are about to import. Once ready, click on the Convert to CPT button to complete the process.
On import completion, you should now be re-directed to the Custom Post Type page of your newly imported data!
You can get a taste of how this works, by using the [demo](https://tastewp.com/create/NMS/8.0/6.7.0/sql-to-cpt/twentytwentythree?ni=true&origin=wp) link.
= ⚡ Why SQL to CPT ? =
1. Because you need something that works great and fast!
2. Because you want to port your data across platforms easily.
3. Because you don't want to spend hours building custom software for this.
4. Because you think SQL to CPT is cool.
NB: At the moment, the SQL to CPT plugin currently does not provide a way for users to import more than one SQL table at a time, this feature should be available in future releases as well as the option to remove unused CPTs.
= 🔌🎨 Plug and Play or Customize =
The SQL to CPT plugin is built to work right out of the box. Simply install, activate and start using.
Want to add your personal touch? All of our documentation can be found [here](https://github.com/badasswp/sql-to-cpt). You can override the plugin's behaviour with custom logic of your own using [hooks](https://github.com/badasswp/sql-to-cpt?tab=readme-ov-file#hooks).
== Screenshots ==
1. Import SQL File screen - Upload your SQL File by clicking on the 'Import SQL File' button.
2. Import Modal - Select the SQL file you intend to import.
3. Custom Post Type page - List of uploaded data from SQL file.
4. Custom Post Type screen - Imported SQL data showing custom fields in CPT.
== Changelog ==
= 1.4.1 =
* Hotfix: Missing js-map file causing plugin breakdown.
= 1.4.0 =
* Feat: Setup custom WP store to prevent props drilling across components.
* Feat: Added translation languages for `Japanese`,`Indonesian`, `Turkish`, `Polish`, `Dutch`,`Danish`, `Brazil` and `Portuguese`.
* Refactor: Replaced hard coded HTTP verbs with `WP_REST_Server` constant.
* Refactor: Simplified register mimes.
* Refactor: Used webpack generated dependencies.
* Refactor: Replaced fully qualified path classes with their `use` counter part
* Refactor: Replaced `get-400-response` with `get-error-`response` and sets 400 as the default status.
* Test: Updated the `js` unit test.
* Chore: Pull Request template added.
= 1.3.4 =
* Specify `wordpress-plugin` as Composer package type.
* Tested up to WP 6.9.
= 1.3.3 =
* Bump up plugin version.
* Tested up to WP 6.8
* Update README docs.
= 1.3.2 =
* Lint `.wp-env` file correctly.
* Update setup.sh bash script.
* Tested up to WP `6.7.2`.
= 1.3.1 =
* Enforce WP linting style across plugin.
* Feat: Add WP local dev env for contributors.
= 1.3.0 =
* Fix: Ensure REST response on SQL Import.
* Feat: Add Progress bar to Parse activity.
* Feat: Implement Purge component.
* Refactor: Move Interval logic to ProgressBar component.
* Refactor: Move Handle logic away from App to ImportButton component.
* Chore: Update doc blocks for components.
* Tested up to WP 6.7.1
= 1.2.2 =
* Refactor: Parser instance via DI logic.
* Fix: Breaking WP dependency.
* Fix: Failing Unit tests.
* Tested up to WP 6.7.1
= 1.2.1 =
* Chore: Add accessibility roles for components.
* Updated Unit Tests for same.
* Tested up to WP 6.7.1.
= 1.2.0 =
* Feat: Implement Import Progress bar.
* Refactor: `sqlt_cpt_post_title` to `sqlt_cpt_post_values`.
* Chore: Clean up App components.
* Chore: Fix typos in README.
* Add Unit Tests & Test Coverage.
* Tested up to WP 6.7.1.
= 1.1.0 =
* Fix missing `Import` route class.
* Implement `Post` class for handling CPTs.
* Add new Custom Hooks: `sqlt_cpt_post_title`, `sqlt_cpt_post_labels`, `sqlt_cpt_post_options`.
* Add new screenshot images.
* Update README notes.
* Tested up to WP 6.7.1.
= 1.0.1 =
* Change hook names to use `sqlt` prefix.
* Custom Hooks now bear `sqlt_cpt_table_name`, `sqlt_cpt_table_columns`, `sqlt_cpt_table_rows`.
* Tested up to WP 6.6.2.
= 1.0.0 =
* Add ability to upload SQL file to Custom Post Type (CPT).
* Custom Hooks `sqlt_cpt_table_name`, `sqlt_cpt_table_columns`, `sqlt_cpt_table_rows`.
* Custom Options page.
* Fix bugs & linting issues.
* Tested up to WP 6.6.2.
== Contribute ==
If you'd like to contribute to the development of this plugin, you can find it on [GitHub](https://github.com/badasswp/sql-to-cpt).
To build, clone repo and run `yarn install && yarn build`