Example #1
0
<?php

// Setup form object.
require_once IBEDUCATOR_PLUGIN_DIR . 'includes/ib-educator-form.php';
$form = new IB_Educator_Form();
$form->default_decorators();
// Registration.
$form->set_value('_ib_educator_register', get_post_meta($post->ID, '_ib_educator_register', true));
$form->add(array('type' => 'select', 'name' => '_ib_educator_register', 'label' => __('Registration', 'ibeducator'), 'options' => array('open' => __('Open', 'ibeducator'), 'closed' => __('Closed', 'ibeducator')), 'default' => 'open'));
// Price.
$form->set_value('_ibedu_price', ib_edu_get_course_price($post->ID));
$form->add(array('type' => 'text', 'name' => '_ibedu_price', 'class' => '', 'id' => 'ib-educator-price', 'label' => __('Price', 'ibeducator'), 'before' => esc_html(ib_edu_get_currency_symbol(ib_edu_get_currency())) . ' '));
// Tax Class.
$edu_tax = IB_Educator_Tax::get_instance();
$form->set_value('_ib_educator_tax_class', $edu_tax->get_tax_class_for($post->ID));
$form->add(array('type' => 'select', 'name' => '_ib_educator_tax_class', 'label' => __('Tax Class', 'ibeducator'), 'options' => $edu_tax->get_tax_classes(), 'default' => 'default'));
// Difficulty.
$form->set_value('_ib_educator_difficulty', get_post_meta($post->ID, '_ib_educator_difficulty', true));
$form->add(array('type' => 'select', 'name' => '_ib_educator_difficulty', 'id' => 'ib-educator-difficulty', 'label' => __('Difficulty', 'ibeducator'), 'options' => array_merge(array('' => __('None', 'ibeducator')), ib_edu_get_difficulty_levels())));
// Prerequisite.
$courses = array('' => __('None', 'ibeducator'));
$tmp = get_posts(array('post_type' => 'ib_educator_course', 'post_status' => 'publish', 'posts_per_page' => -1));
foreach ($tmp as $course) {
    $courses[$course->ID] = $course->post_title;
}
$prerequisites = IB_Educator::get_instance()->get_prerequisites($post->ID);
$form->set_value('_ib_educator_prerequisite', array_pop($prerequisites));
$form->add(array('type' => 'select', 'name' => '_ib_educator_prerequisite', 'id' => 'ib-educator-prerequisite', 'label' => __('Prerequisite', 'ibeducator'), 'options' => $courses));
wp_nonce_field('ib_educator_course_meta_box', 'ib_educator_course_meta_box_nonce');
$form->display();
Example #2
0
/**
 * Get course difficulty.
 *
 * @since 1.0.0
 * @param int $course_id
 * @return null|array
 */
function ib_edu_get_difficulty($course_id)
{
    $difficulty = get_post_meta($course_id, '_ib_educator_difficulty', true);
    if ($difficulty) {
        $levels = ib_edu_get_difficulty_levels();
        return array('key' => $difficulty, 'label' => isset($levels[$difficulty]) ? $levels[$difficulty] : '');
    }
    return null;
}
Example #3
0
 /**
  * Save course meta box.
  *
  * @param int $post_id
  * @param WP_Post $post
  * @param boolean $update
  */
 public static function save_course_meta_box($post_id, $post, $update)
 {
     if (!isset($_POST['ib_educator_course_meta_box_nonce']) || !wp_verify_nonce($_POST['ib_educator_course_meta_box_nonce'], 'ib_educator_course_meta_box')) {
         return;
     }
     if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
         return;
     }
     if ('ib_educator_course' != $post->post_type || !current_user_can('edit_ib_educator_course', $post_id)) {
         return;
     }
     // Registration.
     $register = isset($_POST['_ib_educator_register']) && 'open' != $_POST['_ib_educator_register'] ? 'closed' : 'open';
     update_post_meta($post_id, '_ib_educator_register', $register);
     // Price.
     $price = isset($_POST['_ibedu_price']) && is_numeric($_POST['_ibedu_price']) ? $_POST['_ibedu_price'] : '';
     update_post_meta($post_id, '_ibedu_price', $price);
     // Difficulty.
     $difficulty = isset($_POST['_ib_educator_difficulty']) ? $_POST['_ib_educator_difficulty'] : '';
     if (empty($difficulty) || array_key_exists($difficulty, ib_edu_get_difficulty_levels())) {
         update_post_meta($post_id, '_ib_educator_difficulty', $difficulty);
     }
     // Prerequisites.
     if (isset($_POST['_ib_educator_prerequisite'])) {
         $prerequisites = array();
         if (is_numeric($_POST['_ib_educator_prerequisite'])) {
             $prerequisites[] = absint($_POST['_ib_educator_prerequisite']);
         }
         update_post_meta($post_id, '_ib_educator_prerequisites', $prerequisites);
     }
     self::save_tax_data($post_id);
 }