PHP Classes

File: todo/includes/todo-list-fields.php

Recommend this page to a friend!
  Classes of Hillary Kollan   My WordPress Plugin List   todo/includes/todo-list-fields.php   Download  
File: todo/includes/todo-list-fields.php
Role: Example script
Content type: text/plain
Description: Example script
Class: My WordPress Plugin List
WordPress plugins for several purposes
Author: By
Last change:
Date: 1 year ago
Size: 3,866 bytes
 

Contents

Class file image Download
<?php

function td_add_fields_metabox(){
   
add_meta_box(
       
'td_todo_fields',
       
__('Todo Fields'),
       
'td_todo_fields_callback',
       
'todo',
       
'normal',
       
'default'
   
);
}

add_action('add_meta_boxes', 'td_add_fields_metabox');

//callback to display fields meta box content
function td_todo_fields_callback($post){
   
//wp_nonce_field(basename(__FILE__), 'wp_todos_nonce');
   
$td_stored_meta = get_post_meta($post->ID);
   
?>
<div class="wrap todo-form">
            <div class="form-group">
                <label for="priority"> <?php esc_html_e('Priority', 'td_domain') ?></label>
                  
                    <select name="priority" id="priority">
                        <?php
                        $option_val
= ['Low', 'Normal', 'High'];
                        foreach(
$option_val as $key => $value){
                            if(
$value == $td_stored_meta['priority'][0]){
                               
?>
<option selected value="<?php echo $value ?>"><?php echo $value ?></option>
                                <?php
                           
}else{
                               
?>
<option value="<?php echo $value ?>"><?php echo $value ?></option>
                                <?php
                           
}
                            }
                       
                       
                       
?>
</select>
               
            </div>
   

            <div class="form-group">
                <label for="details"> <?php esc_html_e('Details', 'td_domain') ?></label>
                <?php
                    $content
= get_post_meta($post->ID, 'details',true);
                   
$editor = 'details';
                   
$settings = [
                       
'textarea_rows' => 5,
                       
'media_buttons' => true
                   
];
                   
wp_editor($content, $editor, $settings);
               
?>
</div>


            <div class="form-group">
                <label for="due-date"> <?php esc_html_e('Due Date', 'td_domain') ?></label>
                  
                    <input type="date" name="due_date" id="due_date" value="<?php if(!empty($td_stored_meta['due_date'])) echo esc_attr($td_stored_meta['due_date'][0]); ?>">
               
            </div>
        </div>
    <?php

   
// Use nonce for verification
   
wp_nonce_field(plugin_basename( __FILE__ ), 'wpse28341' );
}

function
td_todos_save($post_id){
    global
$post;
   
$is_autosave = wp_is_post_autosave($post_id);
   
$is_revision = wp_is_post_revision($post_id);
   
$is_valid_nonce = (isset($_POST['wp_todos_nonce']) && wp_verify_nonce($_POST['wp_todos_nonce'], basename(__FILE__))) ? 'true':'false';
   
//var_dump($post_id, $is_autosave, $is_revision, $is_valid_nonce); die;
    // if($is_autosave || $is_revision || !$is_valid_nonce ){
    // return;
    // }

   
if ( !wp_verify_nonce( $_POST['wpse28341'], plugin_basename( __FILE__ ) ) ){

        return;
    }
        
   
// if ( !wp_verify_nonce( $_POST['wp_todos_nonce'], plugin_basename( __FILE__ ) ) ){
    // var_dump("Didint", $post->ID, $_POST['wp_todos_nonce'], plugin_basename( __FILE__ ), $_POST['priority'],$_POST['details'], $_POST['due_date']
    // ); die;
    // return;
    // }
  


   
if(isset($_POST['priority'])){
       
update_post_meta($post->ID, 'priority', sanitize_text_field($_POST['priority']));
    }
    if(isset(
$_POST['details'])){
       
update_post_meta($post->ID, 'details', sanitize_text_field($_POST['details']));
    }
    if(isset(
$_POST['due_date'])){
       
update_post_meta($post->ID, 'due_date', sanitize_text_field($_POST['due_date']));
    }


   
}


add_action('save_post', 'td_todos_save');