codemascot / metabox
This is a Composer library package to make easier the process of creating metabox for WordPress.
This package is not auto-updated.
Last update: 2025-01-13 10:08:12 UTC
README
This is a Composer library package to enhance the usage of WordPress metabox API.
Table Of Contents
Coding styles and technique
- All input data escaped and validated.
- Developed as Composer package.
- YODA condition checked.
- Maintained Right Margin carefully. Usually that is 80 characters.
- Used
true
,false
andnull
in stead ofTRUE
,FALSE
andNULL
. - INDENTATION: TABS has been used in stead of SPACES.
- PHP Codesniffer checked.
- WordPress VIP coding standard followed mostly.
Requirements
- WordPress >= 3.8.0 (Tested)
- PHP >= 5.6
- Composer Package Manager
Installation
The best way to use this package is through Composer:
$ composer require codemascot/metabox
Usage
Step 1
First we need to prepare the arguments like below-
$prefix = 'codemascot_'; // Use any prefix you like to prefix the metabox name or id $metabox_args = [ [ $prefix . '-section-title', __( 'Section Title', 'text-domain' ), 'title', 'required', ], [ $prefix . '-checkbox', __( 'Input Checkbox', 'text-domain' ), 'check', '', [ 'checkbox_key' => 'Checkbox Text', ], ], [ $prefix . '-input', __( 'Input Text', 'text-domain' ), 'input', 'required', ], [ $prefix . '-select', __( 'Select Dropdown', 'text-domain' ), 'select', 'required', [ '-' => '-', 'red' => 'Red', 'blue' => 'Blue', 'green' => 'Green', ], ], ];
Step 2
Now you need to call the MetaBox
class like below-
new \CodeMascot\MetaBox\MetaBox( 'section-id', // Section DOM ID __( 'Section Name', 'text-domain' ), // Section Name 'post', // Post Type $metabox_args, // Arguments 'advanced', // Context 'high' // Priority );
Data Sanitization & Validation
You can use codeamscot_metabox_api_data_filter
for sanitizing and validating input through this package. It has two arguments, one is $data
and another is $field_id
.
add_filter( 'codemascot_metabox_api_data_filter', 'codemascot_metabox_api_data_filter', 10, 2 ); /** * @param $data * @param string $field_id */ function codemascot_metabox_api_data_filter( $data, $field_id ) { // Validate or Sanitize Data Here. }
Crafted by Khan
I'm Khan AKA CodeMascot a professional web developer and I crafted this package for my personal use. Feel free to use this for your projects too.
License
Copyright (c) 2018 Khan M Rashedun-Naby, CodeMascot
Good news, this library is free for everyone! Since it's released under the MIT License you can use it free of charge on your personal or commercial website.
Contribution
All feedback / bug reports / pull requests are welcome.