Esempio n. 1
0
function add_meta_box_product($post)
{
    wp_register_style('tzelan-metabox-productmeta', plugins_url('/css/productmeta.css', __FILE__));
    wp_enqueue_style('tzelan-metabox-productmeta');
    wp_enqueue_script('jquery');
    wp_register_script('tzelan-metabox-productjs', plugins_url('/js/tzelan_product_meta.js', __FILE__));
    wp_enqueue_script('tzelan-metabox-productjs');
    ?>
  <div id="product_images_container">
    <select id="product_metabox_tzelan">
      <option value="">Choose metabox</option>
    <?php 
    $metaboxes = get_meta_boxes();
    $maps = get_option('tzelan_metabox_productmap', array());
    $metaboxselected = isset($maps[$post->ID]) ? $maps[$post->ID] : "";
    foreach ($metaboxes as $metabox) {
        $selected = $metabox['metaboxid'] === $metaboxselected ? "selected='selected'" : '';
        echo "<option value='" . $metabox['metaboxid'] . "' " . $selected . ">Metabox #" . $metabox['metaboxid'] . "</option>";
    }
    ?>
    </select>
    <input type="hidden" name="productid" value="<?php 
    echo $post->ID;
    ?>
">
    <input type="button" class="button tzelanmetaboxadd" value="Save">
    <span class="tzelan_check_success"></span>
    <div class="tzelan_spinner"></div>
  </div>
<?php 
}
 function prepare_items()
 {
     $metabox_db_data = get_meta_boxes();
     foreach ($metabox_db_data as $metabox_data) {
         array_push($this->example_data, array('id' => $metabox_data['id'], 'metaboxid' => $metabox_data['metaboxid'], 'count' => $metabox_data['counter'], 'shortcode' => '[metabox id=' . $metabox_data['metaboxid'] . ']'));
     }
     $this->process_bulk_action();
     $columns = $this->get_columns();
     $hidden = array();
     $sortable = $this->get_sortable_columns();
     $this->_column_headers = array($columns, $hidden, $sortable);
     usort($this->example_data, array(&$this, 'usort_reorder'));
     $per_page = 5;
     $current_page = $this->get_pagenum();
     $total_items = count($this->example_data);
     // only ncessary because we have sample data
     $this->found_data = array_slice($this->example_data, ($current_page - 1) * $per_page, $per_page);
     $this->set_pagination_args(array('total_items' => $total_items, 'per_page' => $per_page));
     $this->items = $this->found_data;
 }
<?php

$metaboxes = get_meta_boxes($_REQUEST['metabox']);
if (!$metaboxes) {
    print_error('Metabox not found! Please go back');
    return;
}
if (isset($_GET['updated']) && $_GET['updated'] == 1) {
    ?>
<div id="message" class="updated"><p>Metabox has been updated Successfully</p></div>
<?php 
}
?>
<div class="wrap">
    <h1>Meta Box #<?php 
echo $_REQUEST['metabox'];
?>
 <a href="?page=<?php 
echo $_REQUEST['page'];
?>
" class="button">Go back</a></h1>
    <form action="" method="post">
    <input type="submit" class="button-primary" name="metabox_form_update" value="Update" />
    <input type="hidden" name="metabox_id" value="<?php 
echo $_REQUEST['metabox'];
?>
" />
    <div class="row">
    <?php 
if (isset($metaboxes[0])) {
    ?>