An open API service indexing awesome lists of open source software.

https://github.com/figuren-theater/ft-options

Options management via code for a WordPress multisite like figuren.theater
https://github.com/figuren-theater/ft-options

multisite options site-options wordpress wordpress-muplugin

Last synced: 6 months ago
JSON representation

Options management via code for a WordPress multisite like figuren.theater

Awesome Lists containing this project

README

        





figuren.theater Logo

figuren.theater | Options


Options Management for a WordPress Multisite network like figuren.theater.




Read our blog




See the network in action

Join the network

Create your own network


## About

This is the long desc

* [x] *list closed tracking-issues or `docs` files here*
* [ ] Write better Readme
* [ ] Do you have any [ideas](https://github.com/figuren-theater/ft-options/issues/new) ?

## Background & Motivation

...

## Install

1. Install via command line
```sh
composer require figuren-theater/ft-options
```

## Usage

### API

```php
Figuren_Theater::API\get_...()
```

### Plugins included

This package contains the following plugins.
Thoose are completely managed by code and lack of their typical UI.

* [markjaquith/wp-tlc-transients](https://packagist.org/packages/markjaquith/wp-tlc-transients)
A WP transients interface with support for soft-expiration, background updating of the transients.
*(Not a real plugin, but a powerful external library, that is autoloaded via composer.)*

### What does this package do in addition?

Accompaniying the core functionality of the mentioned plugins, theese **best practices** are included with this package.

* Provide an API for handling WordPress `options` and `site_options` completely static via code by utilising some functions around the `pre_option_${option_name}` filter. The API allows options to be either:

+ *static*

The same code-defined option value is used througout the complete network of all sites.
+ *synced*

The option value used, is taken from another site within the multisite network.
+ *merged*

This is handy especially for options containing array or objects of different data. This option-type mixes static option values, provided by code, with dynamic data created by and for the current site.

## Built with & uses

- [dependabot](/.github/dependabot.yml)
- [code-quality](https://github.com/figuren-theater/code-quality/)
A set of status checks to ensure high and consitent code-quality for the figuren.theater platform.
- ....

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## Versioning

We use [Semantic Versioning](http://semver.org/) for versioning. For the versions
available, see the [tags on this repository](https://github.com/figuren-theater/ft-options/tags).

## Authors

- **Carsten Bach** - *Provided idea & code* - [figuren.theater/crew](https://figuren.theater/crew/)

See also the list of [contributors](https://github.com/figuren-theater/ft-options/contributors)
who participated in this project.

## License

This project is licensed under the **GPL-3.0-or-later**, see the [LICENSE](/LICENSE) file for
details

## Acknowledgments

- [altis](https://github.com/search?q=org%3Ahumanmade+altis) by humanmade, as our digital role model and inspiration
- [@roborourke](https://github.com/roborourke) for his clear & understandable [coding guidelines](https://docs.altis-dxp.com/guides/code-review/standards/)
- [python-project-template](https://github.com/rochacbruno/python-project-template) for their nice template->repo renaming workflow