https://github.com/tattersoftware/codeigniter4-wordpress
WordPress content management for CodeIgniter 4
https://github.com/tattersoftware/codeigniter4-wordpress
Last synced: about 1 year ago
JSON representation
WordPress content management for CodeIgniter 4
- Host: GitHub
- URL: https://github.com/tattersoftware/codeigniter4-wordpress
- Owner: tattersoftware
- License: mit
- Created: 2020-09-26T18:22:29.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2023-02-22T01:41:24.000Z (over 3 years ago)
- Last Synced: 2025-03-25T19:53:39.900Z (about 1 year ago)
- Language: PHP
- Size: 109 KB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tatter\WordPress
WordPress content management for CodeIgniter 4
[](https://github.com/tattersoftware/codeigniter4-wordpress/actions?query=workflow%3A%22PHPUnit)
[](https://github.com/tattersoftware/codeigniter4-wordpress/actions?query=workflow%3A%22PHPStan)
## Quick Start
1. Install with Composer: `> composer require tatter/wordpress`
2. Add a new database connection:
```
public $wordpress = [
'DBDriver' => 'Tatter\WordPress\Database',
'WPConfig' => '/path/to/wp-config.php',
];
```
## Description
**Tatter\WordPress** provides a way for you to connect your CodeIgniter 4 instance to an
existing WordPress installation.
## Usage
This library comes with the `Reader` class, a parser designed to read configuration values
from WordPress' **wp-config.php** file. By extracting database information and installation
path, `Tatter\WordPress` can connect to the same database and modify information using the
supplied models.
## Database
In order to use the database you need to define a new database group that uses the
connection details provided by `Reader`. Add a property to **app/Config/Database.php**
with the driver and the path to your **wp-config.php** file, like this:
```
class Database extends BaseConfig
{
public $wordpress = [
'DBDriver' => 'Tatter\WordPress\Database',
'WPConfig' => '/path/to/wp-config.php',
];
```
## Models and Entities
This library defines Models and Entities that correspond to WordPress's database tables.
You may use them like ordinary CodeIgniter 4 Models, but pay attention to WordPress's
[particular database structure](https://codex.wordpress.org/Database_Description). "Meta"
tables are handled via a special Entity extension `MetaHandler`, which allows read/write
access to individual meta rows as class properties:
```
// Get a particular Post
$post = model('Tatter\WordPress\Models\PostModel')->find($postId);
// Access post metadata
echo $post->meta->_wp_page_template; // 'default'
// Update post metadata
$post->meta->_wp_page_template = 'mobile';
```
## Commands
There are a few commands to make it easier to interact with your configuration - these are
also a great way to make sure your WordPress database is set up correctly.
* `posts:list` - Lists all Posts in a table format
* `posts:show [postId]` - Displays details for a single Post
* `posts:delete [postId]...` - Deletes one or more Posts by their ID