Automatic Install From WordPress Dashboard
- 01Login to your admin panel
- 02Navigate to Plugins -> Add New
- 03Search Pure Metafields
- 04Click install and activate respectively.
Manual Install From WordPress Dashboard
If your server is not connected to the Internet, then you can use this method-
- 05Download the plugin by clicking on the red button above. A ZIP file will be downloaded.
- 06Login to your site’s admin panel and navigate to Plugins -> Add New -> Upload.
- 07Click choose file, select the plugin file and click install
Install Using FTP
If you are unable to use any of the methods due to internet connectivity and file permission issues, then you can use this method-
- 08Download the plugin by clicking on the red button above. A ZIP file will be downloaded.
- 09Unzip the file.
- 10Launch your favorite FTP client. Such as FileZilla, FireFTP, CyberDuck etc. If you are a more advanced user, then you can use SSH too.
- 11Upload the folder to wp-content/plugins/
- 12Log in to your WordPress dashboard.
- 13Navigate to Plugins -> Installed
- 14Activate the plugin
How To Use?
Paste the code to your theme’s functions.php with the add_filter hook.
Metbox Add
<?php add_filter( 'tp_meta_boxes', 'themepure_metabox' ); function themepure_metabox( $meta_boxes ) { $meta_boxes[] = array( 'metabox_id' => '_your_id', 'title' => esc_html__( 'Your Metabox Title', 'textdomain' ), 'post_type'=> 'post', // page, custom post type name 'context' => 'normal', 'priority' => 'core', 'fields' => array(), ); return $meta_boxes; } ?>
Text Fields
<?php // text field for normal text array( 'label' => 'Text Field', 'id' => "_your_id", 'type' => 'text', // specify the type field 'placeholder' => '', 'default' => '', // do not remove default key ) // textarea field for large text array( 'label' => 'Textarea Field', 'id' => "_your_id", 'type' => 'textarea', // specify the type field 'placeholder' => 'Type...', 'default' => '', 'conditional' => array() ) ?>
Image and Gallery Field
<?php array( 'label' => esc_html__( 'Your Title', 'textdomain' ), 'id' => "_your_id", 'type' => 'image', // specify the type field 'default' => '', 'conditional' => array() ) // Gallery field for multiple images upload array( 'label' => esc_html__( 'Your Title', '' ), 'id' => "_your_id", 'type' => 'gallery', // specify the type field 'default' => '', 'conditional' => array() ) ?>
Switch Field
<?php array( 'label' => esc_html__( 'Your Title', 'textdomain' ), 'id' => "_your_id", 'type' => 'switch', 'default' => 'off', 'conditional' => array() ) ?>
Checkbox
<?php array( 'label' => esc_html__( 'Files Included', 'pure' ), 'id' => "{$prefix}_files_options", 'type' => 'checkbox', 'default' => array( 'wordpress', 'react', 'html', 'psd', 'vue' ), 'options' => array( 'wordpress' => 'Wordpress File Included?', 'react' => 'React File Included?', 'html' => 'HTML File Included?', 'psd' => 'PSD Included?', 'vue' => 'Vue JS File Included?' ) ) ?>
Group Button
<?php // multiple buttons group field like multiple radio buttons tabs array( 'label' => esc_html__( 'Group Buttons Tab', '' ), 'id' => "_your_id", 'desc' => '', 'type' => 'tabs', 'choices' => array( 'button_1' => 'Button 1', 'button_2' => 'Button 2', 'button_3' => 'Button 3', ), 'default' => 'button_1', 'conditional' => array() ) ?>
Select Field
<?php // select field dropdown array( 'label' => esc_html__('TP Select Field', 'textdomain'), 'id' => "_your_id", 'type' => 'select', 'options' => array( '1' => 'one', '2' => 'two ', '3' => 'three ', '4' => 'four ', '5' => 'five ', ), 'placeholder' => 'Select an item', 'conditional' => array(), 'default' => '' ) ?>
Datepicker Field
<?php // Datepicker for date field array( 'label' => 'Datepicker', 'id' => "_your_id", 'type' => 'datepicker', 'placeholder' => '', 'default' => '', 'conditional' => array() ) ?>
Colorpicker
<?php // Colorpicker for color field array( 'label' => 'Colorpicker', 'id' => "_your_id", 'type' => 'colorpicker', 'placeholder' => '', 'default' => '', 'conditional' => array() ) ?>
Select any post type posts
<?php // posts select dropdown field ( Lists any post types posts) array( 'label' => esc_html__('TP Posts Select', 'textdomain'), 'id' => "_your_id", 'type' => 'select_posts', 'post_type' => 'post', // specify the post type you want to fetch 'placeholder' => 'Select a post', 'conditional' => array(), 'default' => '' ) ?>
Repeater
In the above code example where fields array paste the repeater array inside fields array
<?php array( 'label' => esc_html__('Field Title', 'textdomain'), 'id' => "_your_id", 'type' => 'repeater', // specify the type "repeater" (case sensitive) 'conditional' => array(), 'default' => array(), 'fields' => array( array( 'label' => esc_html__('Your Title', 'textdomain'), 'id' => "_your_id", 'type' => 'select', 'options' => array( 'footer_1' => 'Footer 1', 'footer_2' => 'Footer 2', 'footer_3' => 'Footer 3' ), 'placeholder' => 'Select a footer', 'conditional' => array(), 'default' => 'footer_1', ), array( 'label' => esc_html__('Select Footer Style', 'textdomain'), 'id' => "_footer_style_2", 'type' => 'select', 'options' => array( 'footer_1' => 'Footer 1', 'footer_2' => 'Footer 2', 'footer_3' => 'Footer 3' ), 'placeholder' => 'Select a footer', 'conditional' => array(), 'default' => 'footer_1', 'bind' => "_footer_template_2" // bind the key to be control with conditions ), array( 'label' => esc_html__('Select Footer Template', 'textdomain'), 'id' => "_footer_template_2", 'type' => 'select_posts', 'placeholder' => 'Select a template', 'post_type' => 'tp-footer', 'conditional' => array( "_footer_style_2", "==", "footer_2" // First parameter will be the id of control field and so on ), 'default' => '', ) ) ) ?>
Conditional Field
<?php array( 'label' => 'Text Field', 'id' => "_your_id", 'type' => 'text', 'placeholder' => '', 'default' => '', 'conditional' => array( "_id_of_any_field", "any operator", "value_of_that_field" ) ) array( 'label' => 'Text Field', 'id' => "_your_id", 'type' => 'text', 'placeholder' => '', 'default' => '', 'conditional' => array( "_field_id", "==", "_field_value" ) ) ?>
For bind with post format
<?php add_filter( 'tp_meta_boxes', 'themepure_metabox' ); function themepure_metabox( $meta_boxes ) { $meta_boxes[] = array( 'metabox_id' => $prefix . '_post_meta_gallery_box', 'title' => esc_html__( 'Post Meta Gallery', 'donafund' ), 'post_type'=> 'post', 'context' => 'normal', 'priority' => 'core', 'fields' => array( array( 'label' => esc_html__( 'Gallery Format', 'textdomain' ), 'id' => "{$prefix}_gallery_5", 'type' => 'gallery', 'default' => '', 'conditional' => array(), ), ), 'post_format' => 'gallery' // if u want to bind with post formats ); $meta_boxes[] = array( 'metabox_id' => $prefix . '_post_meta_audio_box', 'title' => esc_html__( 'Post Meta Audio', 'donafund' ), 'post_type'=> 'post', 'context' => 'normal', 'priority' => 'core', 'fields' => array( array( 'label' => esc_html__( 'Audio Format', 'donafund' ), 'id' => "{$prefix}_audio_format", 'type' => 'text', 'placeholder' => esc_html__( 'Audio url here', 'donafund' ), 'default' => '', 'conditional' => array() ), ), 'post_format' => 'audio' // if u want to bind with post formats ); $meta_boxes[] = array( 'metabox_id' => $prefix . '_post_meta_video_box', 'title' => esc_html__( 'Post Meta Video', 'donafund' ), 'post_type'=> 'post', 'context' => 'normal', 'priority' => 'core', 'fields' => array( array( 'label' => esc_html__( 'Video Format', 'donafund' ), 'id' => "{$prefix}_video_format", 'type' => 'text', 'placeholder' => esc_html__( 'Video url here', 'donafund' ), 'default' => '', 'conditional' => array() ), ), 'post_format' => 'video' // if u want to bind with post formats ); return $meta_boxes; } ?>
Get the meta value for current post
<?php $value = function_exists('tpmeta_field')? tpmeta_field('meta_key_id_here') : ''; ?>
Get the meta value for specific post
<?php $value = function_exists('tpmeta_field')? tpmeta_field('meta_key_id_here', $post_id) : ''; ?>
Get gallery images
<?php $tp_gallery_images = function_exists('tpmeta_gallery_field') ? tpmeta_gallery_field('gallery_meta_key') : ''; //tpmeta_gallery_field($string_ids, $size) foreach($tp_gallery_images as $single_image_src){ echo $single_image_src['url'] ."<br>"; echo $single_image_src['alt'] ."<br>"; } ?>
Get single image
<?php $tp_image = function_exists('tpmeta_image_field') ? tpmeta_image_field('image_meta_key') : ''; // tpmeta_image_field($id, $size) echo $tp_image['url']; echo $tp_image['alt']; ?>
Get Repeater Data
<?php $tp_repeater = function_exists('tpmeta_field') ? tpmeta_field('repeater_meta_key') : ''; // tpmeta_field($meta_key, $post_id) foreach($tp_repeater as $row){ // Iterate the data with loop echo $row['repeater_sub_field_key'] // get the subfield value by repeater inner array field key } ?>
Access Single Image and Gallery Images Inside Repeater
<?php $tp_repeater = function_exists('tpmeta_field') ? tpmeta_field('repeater_meta_key') : ''; // tpmeta_field($meta_key, $post_id) foreach($tp_repeater as $row){ // Iterate the data with loop $gallery = tpmeta_gallery_images($row['repeater_sub_field_key'], 'image_size'); $image = tpmeta_image($row['repeater_sub_field_key'], 'image_size'); } ?>