Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dxw/wordpress-setup
A package to help configure and populate WordPress content for development and testing.
https://github.com/dxw/wordpress-setup
composer govpress packagist php
Last synced: 10 days ago
JSON representation
A package to help configure and populate WordPress content for development and testing.
- Host: GitHub
- URL: https://github.com/dxw/wordpress-setup
- Owner: dxw
- License: mit
- Created: 2022-07-21T12:37:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-18T13:16:15.000Z (3 months ago)
- Last Synced: 2024-11-30T05:39:20.073Z (23 days ago)
- Topics: composer, govpress, packagist, php
- Language: PHP
- Homepage:
- Size: 27.3 KB
- Stars: 1
- Watchers: 10
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# WordPress Setup
A package to help with getting WordPress configured and populated with content, so that it's a known testable or dev-able state.
## How to use
Install with Composer:
```
composer require-dev dxw/wordpress-setup
```Call the Factory to get a new Setup instance, e.g.:
```
$setup = Dxw\WordPressSetup\Factory::create();
```Then call specific modules as properties of setup, e.g to create a post:
```
$setup->post->create();
```Or to create a menu and assign it to a menu location in your theme:
```
$setup->menu->createAndAssignLocation('menu-name', 'menu-location');
```Modules and their available methods are documented in detail below.
## Modules
### Media
#### `upload`
Upload a file to the media library, and create the appropriate attachment metadata.
Takes either a path to the file, or a URL:
```
$setup->media->upload(string $pathOrUrlToFile);
```Returns the ID of the created attachment.
### Menu
#### `addCustomLink`
Add a custom link item to a menu, where the first argument is the ID of the menu to assign it to:
```
$setup->menu->addCustomLink(int $menuId, string $menuItemTitle, string $menuItemUrl);
```Can also be passed the ID of the menu item this should be a child of as the final argument:
```
$setup->menu->addCustomLink(int $menuId, string $menuItemTitle, string $menuItemUrl, int $parentMenuItemId);
```Returns the ID of the menu item that has been created.
#### `addTaxonomyLink`
Add a taxonomy archive link to a menu.
```
$setup->menu->addTaxonomyLink(int $menuId, int $termid, int $taxonomyName)
```Can also optionally be passed the ID of the menu item this should be a child of:
```
$setup->menu->addTaxonomyLink(int $menuId, int $termid, int $taxonomyName, int $parentMenuItemId)
```Returns the ID of the menu item that has been created.
#### `createAndAssignLocation`
Create a new menu and assign it to a theme location by name:
```
$setup->menu->createAndAssignLocation(string $menuName, string $menuLocation);
```Returns the ID of the new menu.
### Plugin
#### `activate`
Activate a plugin by its slug:
```
$setup->plugin->activate(string $pluginSlug)
```### Post
#### `create`
Create a new post:
```
$setup->post->create();
```By default, Faker will be used to generate dummy title and content, the post type will be `post` and the post status will be `publish`.
You can override any of these defaults (or add additional parameters) using the same array of args you would pass to `wp_insert_post`.
Returns the ID of the new post.