Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stscoundrel/wp-post-crud
Provides class for handling CRUD operations on WP Posts
https://github.com/stscoundrel/wp-post-crud
composer-package crud wordpress
Last synced: 21 days ago
JSON representation
Provides class for handling CRUD operations on WP Posts
- Host: GitHub
- URL: https://github.com/stscoundrel/wp-post-crud
- Owner: stscoundrel
- License: mit
- Created: 2019-11-02T13:20:10.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2019-11-10T15:58:30.000Z (about 5 years ago)
- Last Synced: 2024-04-20T21:43:12.038Z (7 months ago)
- Topics: composer-package, crud, wordpress
- Language: PHP
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WP Post Crud
Provides CRUD class for handling WP Post Types in Actice Recordish way. Includes classes for detault WordPress types Post/Page and is extendable to include custom post types.
Aim is to abstract away awkward parts of creating, handling and deleting Posts programmatically in WordPress.
## Installation
Via Composer:
`composer require silvanus/wp-post-crud`
To use autoloading mechanism, you must include `vendor/autoload.php` file in your code.
## Issues & Contributing
If you find a bug or feel something is wrong, submit an issue or a pull request. Read the instructions first.
## Usage
Post CRUD gives models that have create, read, update and delete methods. Main methods: `set_field()`, `get_field()`, `save()` and `delete()`
#### Creating new post
```php
set_field('post_title', 'Lorem ipsum dolor sit amet');
$model->set_field('post_content', 'Dolor sit igitur.');// Persist the data in database.
$model->save();
```
All fields values should match WP Post table columns.#### Edit existing post
Models will automatically load WP Post data if you instantiate them with ID.
```php
get_field('post_title');
echo $model->get_field('post_content');
echo $model->get_field('post_name');// Not a fan of that slug, change it.
$model->set_field('post_name', 'sluggity_slug');// Persist the changes.
$model->save();
```#### Delete post
```php
delete();
}
```### Custom Post Types
You can create your own classes for your own Custom Post Types. You only need to extend AbstractCrud class and provide name of post type.
```php
set_field('post_title', 'Revelation Space');
$book->set_field('post_status', 'published');// Persist.
$book->save();
```## Meta fields
Models can also handle metadata. Use `set_meta()` and `get_meta()` methods.
```php
set_meta('author', 'Alastair Reynolds');
$book->set_meta('rating', 5);// Persist.
$book->save();
```
## Shorthand methodsThere are shorthand getters & setters for the most common use cases. Instead of using `set_field($key, $value)` or `get_field($value)`, you can use the following:
```php
set_title('Lorem ipsum');
$model->set_content('Dolor sit igitur, dolor sit amet.');
$model->set_excerpt('Dolor sit igitur');// Access values through shorthands
echo $model->get_title();
echo $model->get_excerpt();// Persist.
$book->save();
```Other shorthands are: `set_status($status)`, `get_status()`, `set_slug($slug)` and `get_slug()`.
Under the hood AbstractCrud class will call `set_field()` and `get_field()` methods.