mirror of
https://gh.wpcy.net/https://github.com/Chassis/puppet-wp.git
synced 2026-05-06 14:51:17 +08:00
127 lines
3.2 KiB
Markdown
127 lines
3.2 KiB
Markdown
# Theme
|
||
|
||
* [Description](/classes/theme.html#description)
|
||
* [Attributes](/classes/theme.html#attributes)
|
||
|
||
## Description
|
||
|
||
Manages themes, including installs, activations, and updates.
|
||
|
||
## Attributes
|
||
```puppet
|
||
wp::theme { 'resource title':
|
||
location => # The location to run the command.
|
||
slug => # The slug of the theme.
|
||
ensure => # What state the option should be in.
|
||
user => # The user to run the command as.
|
||
onlyif => # A test command that checks the state of the target system and restricts when the exec can run.
|
||
all => # If set this will delete all the themes apart from the theme that has been passed into the class.
|
||
mod => # The action of the theme mod.
|
||
key => # The key of the theme mod.
|
||
value => # The value of the theme mod.
|
||
}
|
||
```
|
||
|
||
### location
|
||
|
||
The directory from which to run the command. If this directory does not exist, the command will fail.
|
||
|
||
### slug
|
||
|
||
The slug of the theme. e.g. `twentynineteen`.
|
||
|
||
### ensure
|
||
|
||
(*If omitted, this attribute’s value defaults to `enabled`.*)
|
||
|
||
Values: `activate`, `enabled`, `disabled`, `installed`, `deleted` or `mod`.
|
||
|
||
### version
|
||
|
||
(*If omitted, this attribute’s value defaults to the latest version in the WordPress repository*)
|
||
|
||
Values: `latest` or a version number e.g. `1.3`.
|
||
|
||
### unless
|
||
|
||
(*If omitted, this attribute’s value defaults to `undef` which Puppet treats as `false`.*)
|
||
|
||
A test command that checks the state of the target system and restricts when the command can run.
|
||
|
||
### user
|
||
|
||
(*If omitted, this attribute’s value defaults to `www-data`.*)
|
||
|
||
### onlyif
|
||
|
||
(*If omitted, this attribute’s value defaults to `/usr/local/bin/wp core is-installed`.*)
|
||
|
||
You can pass one or more checks into Puppet for this. e.g.
|
||
|
||
```puppet
|
||
wp::theme { 'Activate Twenty Nineteen':
|
||
location => '/vagrant',
|
||
slug => 'twentynineteen',
|
||
ensure => 'enabled'
|
||
onlyif => [
|
||
'/usr/local/bin/wp core is-installed',
|
||
'/usr/local/bin/wp theme is-active twentynineteen',
|
||
]
|
||
}
|
||
```
|
||
|
||
### all
|
||
|
||
(*If omitted, this attribute’s value defaults to `false`.*)
|
||
|
||
If set this and `ensure => 'deleted'` then it will delete all the themes apart from the active theme.
|
||
If set this and `mod => 'remove'` then it will delete all theme mods.
|
||
|
||
Value: `true`.
|
||
|
||
```puppet
|
||
wp::theme { 'Activate Twenty Nineteen and delete all other themes':
|
||
location => '/vagrant',
|
||
slug => 'twentynineteen',
|
||
ensure => 'deleted',
|
||
all => true,
|
||
}
|
||
```
|
||
|
||
### mod
|
||
|
||
(*If omitted, this attribute’s value defaults to `false`.*)
|
||
|
||
Values: `get`, `set` or `remove`.
|
||
|
||
```puppet
|
||
wp::theme { 'Activate Twenty Nineteen and delete all other themes':
|
||
location => '/vagrant',
|
||
ensure => 'mod',
|
||
mod => 'set',
|
||
key => 'background_color',
|
||
value => '000000',
|
||
}
|
||
```
|
||
|
||
### key
|
||
|
||
(*If omitted, this attribute’s value defaults to `false`.*)
|
||
|
||
This is the key used with [mod](/classes/theme.html#mod).
|
||
|
||
### value
|
||
|
||
(*If omitted, this attribute’s value defaults to `false`.*)
|
||
|
||
This is the value used with [mod](/classes/theme.html#mod).
|
||
|
||
#### Examples
|
||
```puppet
|
||
wp::theme { 'Activate Twenty Nineteen':
|
||
location => '/vagrant',
|
||
slug => 'twentynineteen',
|
||
version => '1.3',
|
||
ensure => 'enabled',
|
||
}
|
||
```
|