PHP code example of wordpressvn / wp-meta-box
1. Go to this page and download the library: Download wordpressvn/wp-meta-box library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
wordpressvn / wp-meta-box example snippets
use WPVNTeam\WPMetaBox\WPMetaBox;
$meta_box = WPMetaBox::post('Post settings')
->set_post_type('post');
$meta_box->add_option('text', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'description' => __('Some additional description', 'textdomain')
]);
$meta_box->make();
// Or for taxonomies:
$meta_box = WPMetaBox::taxonomy('Taxonomy settings')
->set_taxonomies(['category']);
$meta_box->add_option('text', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('date', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('number', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('textarea', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('checkbox', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('checkbox', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'options' => [
1 => 'option 1',
2 => 'option 2'
]
]);
$meta_box->add_option('color', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('select', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'options' => [
1 => 'option 1',
2 => 'option 2'
]
]);
$meta_box->add_option('select', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'multiple' => true,
'options' => [
1 => 'option 1',
2 => 'option 2'
]
]);
$meta_box->add_option('select2', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'options' => [
1 => 'option 1',
2 => 'option 2'
]
]);
$meta_box->add_option('select2', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'ajax' => [
'value' => function($pageId) {
return get_the_title($pageId) ?? null;
},
'action' => function() {
$results = array_reduce(get_posts(['post_type' => 'page', 's' => $_GET['q']]), function($item, $page) {
$item[$page->ID] = $page->post_title;
return $item;
}, []);
echo json_encode($results);
die();
}
]
]);
$meta_box->add_option('select2', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain'),
'multiple' => true,
'ajax' => [
'value' => function($ids) {
foreach($ids as $id) {
$titles[$id] = get_the_title($id) ?? $id;
}
return $titles ?? [];
},
'action' => function() {
$results = array_reduce(get_posts(['post_type' => 'page', 's' => $_GET['q']]), function($item, $page) {
$item[$page->ID] = $page->post_title;
return $item;
}, []);
echo json_encode($results);
die();
}
]
]);
$meta_box->add_option('media', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('image', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('code-editor', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('wp-editor', [
'name' => 'name_of_option',
'label' => __('Label of option', 'textdomain')
]);
$meta_box->add_option('repeater', [
'name' => 'gallery',
'label' => __('Gallery', 'textdomain'),
])->add_repeater_option('image', [
'name' => 'image',
'label' => __('Image', 'textdomain'),
]);