File: /var/www/vfconf/wp-content/themes/event-star/acmethemes/metabox/meta-icons.php
<?php
/**
* Custom Metabox
* Only added icon not special data
*
* @since Event Star 1.0.0
*
* @param null
* @return void
*
*/
if( !function_exists( 'event_star_meta_add_featured_icon' )):
function event_star_meta_add_featured_icon() {
add_meta_box(
'event_star_meta_fields', // $id
esc_html__( 'Featured Icon', 'event-star' ), // $title
'event_star_meta_featured_icon_callback', // $callback
'page', // $page
'side', // $context
'core'// $priority
);
}
endif;
add_action('add_meta_boxes', 'event_star_meta_add_featured_icon');
/**
* Callback function for metabox
*
* @since Event Star 1.0.0
*
* @param null
* @return void
*
*/
if ( !function_exists('event_star_meta_featured_icon_callback') ) :
function event_star_meta_featured_icon_callback(){
global $post;
$event_star_featured_icon = get_post_meta( $post->ID, 'event-star-featured-icon', true );
wp_nonce_field( basename( __FILE__ ), 'event_star_meta_fields_nonce' );
?>
<div class="at-icons-wrapper">
<div class="icon-preview">
<?php if( !empty( $event_star_featured_icon ) ) { echo '<i class="fa '. esc_attr( $event_star_featured_icon ) .'"></i>'; } ?>
</div>
<div class="icon-toggle">
<?php echo ( empty( $event_star_featured_icon )? esc_html__('Add Icon','event-star'): esc_html__('Edit Icon','event-star') ); ?>
<span class="dashicons dashicons-arrow-down"></span>
</div>
<div class="icons-list-wrapper hidden">
<input class="icon-search widefat" type="text" placeholder="<?php esc_attr_e('Search Icon','event-star')?>">
<?php
$fa_icon_list_array = event_star_icons_array();
foreach ( $fa_icon_list_array as $single_icon ) {
if( $event_star_featured_icon == $single_icon ) {
echo '<span class="single-icon selected"><i class="fa '. esc_attr( $single_icon ) .'"></i></span>';
} else {
echo '<span class="single-icon"><i class="fa '. esc_attr( $single_icon ) .'"></i></span>';
}
}
?>
</div>
<input class="widefat at-icon-value" id="event-star-featured-icon" type="hidden" name="event-star-featured-icon" value="<?php echo esc_attr( $event_star_featured_icon ); ?>" placeholder="fa-desktop"/>
</div>
<?php
}
endif;
/**
* Save the custom metabox data
* @hooked to save_post hook
*
* @since Event Star 1.0.0
*
* @param null
* @return void
*
*/
if ( !function_exists('event_star_meta_save_featured_icon') ) :
function event_star_meta_save_featured_icon( $post_id ) {
/*
* A Guide to Writing Secure Themes – Part 4: Securing Post Meta
*https://make.wordpress.org/themes/2015/06/09/a-guide-to-writing-secure-themes-part-4-securing-post-meta/
* */
if (
!isset( $_POST[ 'event_star_meta_fields_nonce' ] ) ||
!wp_verify_nonce( $_POST[ 'event_star_meta_fields_nonce' ], basename( __FILE__ ) ) || /*Protecting against unwanted requests*/
( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || /*Dealing with autosaves*/
! current_user_can( 'edit_post', $post_id )/*Verifying access rights*/
){
return;
}
//Execute this saving function
if(isset($_POST['event-star-featured-icon'])){
$new = sanitize_text_field( $_POST['event-star-featured-icon'] );
update_post_meta( $post_id, 'event-star-featured-icon', $new );
}
}
endif;
add_action('save_post', 'event_star_meta_save_featured_icon' );