getolympus / olympus-upload-field
Upload field, this component is a part of the Olympus Dionysos fields.
Installs: 474
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
Type:olympus-field
Requires (Dev)
- phpunit/phpunit: ~5.3
README
This component is a part of the Olympus Dionysos fields for WordPress.
It uses the defaultwpMedia
WordPress javascript bundle to manage field.
composer require getolympus/olympus-dionysos-field-upload
Field initialization
Use the following lines to add a upload field
in your WordPress admin pages or custom post type meta fields:
return \GetOlympus\Dionysos\Field\Upload::build('my_upload_field_id', [ 'title' => 'What\'s your flavor?', 'can_upload' => false, 'default' => [], 'description' => 'Tell me what\'s your flavour!', 'multiple' => false, 'type' => 'image', 'size' => 'thumbnail', /** * Texts definition * @see the `Texts definition` section below */ 't_addblock_description' => 'Click on the "+" button to add a media.', 't_addblocks_description' => 'Click on the "+" button to add medias.', 't_cannot_upload' => 'It seems you are not able to upload files.', 't_name_label' => 'Edit the legend', 't_addblock_label' => 'Add', 't_editblock_label' => 'Edit', 't_removeblock_label' => 'Remove', ]);
Variables definition
Variable | Type | Default value if not set | Accepted values |
---|---|---|---|
title |
String | 'Upload' |
empty |
can_upload |
Boolean | false |
true or false |
default |
Array | empty | empty |
description |
String | empty | empty |
multiple |
Boolean | false |
true or false |
type |
String | 'image' |
default file mime types |
size |
String | 'thumbnail' |
image sizes from add_image_size() WordPress function |
Notes:
can_upload
value is defined thanks tocurrent_user_can('upload_files')
(see WordPress reference)- Set
multiple
totrue
to enable the "Add medias" button
Texts definition
Code | Default value | Definition |
---|---|---|
t_addblock_description |
Click on the "+" button to add a media. | Main helper to add a single item box |
t_addblocks_description |
Click on the "+" button to add medias. | Main helper to add multiple items boxes |
t_cannot_upload |
It seems you are not able to upload files. | Error displayed if user cannot upload files |
t_name_label |
Edit the legend | Name item's placeholder |
t_addblock_label |
Add | Used as an Add button area title |
t_editblock_label |
Edit | Used as an Edit button area title |
t_removeblock_label |
Remove | Used as a Remove button area title |
Retrive data
Retrieve your value from Database with a simple get_option('my_upload_field_id', [])
(see WordPress reference).
Below, a json_encode()
example to understand how data are stored in Database:
{ "mediaId": { "name": "mediaName.mediaExt", "id": "mediaId", "height": "mediaHeight", "url": "mediaUrl", "width": "mediaWidth" } }
And below, a simple example to show how to iterate on the data array in PHP
:
// Get upload from Database $upload = get_option('my_upload_field_id', []); if (!empty($upload)) { foreach ($upload as $img) { echo '<figure id="'.$img['id'].'">'; echo '<img src="'.$img['url'].'" width="'.$img['width'].'" height="'.$img['height'].'" alt="'.esc_html($img['name']).'" />'; echo '<figcaption>'.$img['name'].'</figcaption>'; echo '</figure>'; } }
Release History
0.0.16
- Remove useless admin scripts
0.0.15
- Display now compatible with new Zeus-Core version
0.0.14
- New Olympus components compatibility
- Change repository to be a part of Dionysos fields
Contributing
- Fork it (https://github.com/GetOlympus/olympus-dionysos-field-upload/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Built with ♥ by Achraf Chouk ~ (c) since a long time.