add additional days prior installation field to bundle
This commit is contained in:
@@ -10,6 +10,7 @@ class Wiaas_Admin_Package {
|
||||
|
||||
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-linked-packages.php';
|
||||
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-package-types.php';
|
||||
require_once dirname( __FILE__ ) . '/package/class-wiaas-admin-package-delivery-options.php';
|
||||
|
||||
add_action( 'manage_product_posts_columns', array( __CLASS__, 'manage_list_table_products_columns' ), 999, 2 );
|
||||
add_action( 'woocommerce_product_data_tabs', array( __CLASS__, 'package_data_tabs' ), 999);
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
/**
|
||||
* Class Wiaas_Admin_Package_Delivery_Options
|
||||
*/
|
||||
class Wiaas_Admin_Package_Delivery_Options {
|
||||
|
||||
public static function init() {
|
||||
|
||||
add_action( 'woocommerce_product_options_general_product_data', array( __CLASS__, 'package_delivery_data' ) );
|
||||
|
||||
add_action( 'woocommerce_process_product_meta', array( __CLASS__, 'process_meta_box' ));
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders wiaas package delivery options
|
||||
*/
|
||||
public static function package_delivery_data() {
|
||||
|
||||
global $post;
|
||||
|
||||
$additional_days = Wiaas_Package::get_earliest_installation_additional_days( $post->ID );
|
||||
|
||||
include 'views/html-package-delivery-options.php';
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves posted wiaas package type data
|
||||
* @param $package_id
|
||||
*/
|
||||
public static function process_meta_box($package_id) {
|
||||
|
||||
file_put_contents('/home/bilal/wiaas.log', print_r($_POST['wiaas_additional_days'], true));
|
||||
if (isset($_POST['wiaas_additional_days'])){
|
||||
Wiaas_Package::save_earliest_installation_additional_days($package_id, $_POST['wiaas_additional_days']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Wiaas_Admin_Package_Delivery_Options::init();
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* Wiaas Package options related to delivery
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="wiaas_package_type_editor" class="options_group show_if_bundle hidden">
|
||||
<p class="form-field">
|
||||
<label for="wiaas_additional_days"><?php esc_html_e( 'Number of additional days for the earliest installation date:', 'wiaas' ); ?></label>
|
||||
<input type="number" id="wiaas_additional_days" name="wiaas_additional_days" min="0" value=<?php echo $additional_days ?> />
|
||||
</p>
|
||||
</div>
|
||||
@@ -48,6 +48,23 @@ class Wiaas_Package {
|
||||
return $response;
|
||||
}
|
||||
|
||||
public static function get_earliest_installation_additional_days($package_id){
|
||||
$additional_days = get_post_meta($package_id, '_wiaas_additional_days_prior_installation', true);
|
||||
if ($additional_days === ''){
|
||||
//Value was not set before, default to 5
|
||||
add_post_meta($package_id, '_wiaas_additional_days_prior_installation', 5, true);
|
||||
return 5;
|
||||
}
|
||||
return $additional_days;
|
||||
}
|
||||
|
||||
public static function save_earliest_installation_additional_days($package_id, $additional_days){
|
||||
if (intval($additional_days) < 0){
|
||||
return false;
|
||||
}
|
||||
return update_post_meta($package_id, '_wiaas_additional_days_prior_installation', intval($additional_days));
|
||||
}
|
||||
|
||||
/**
|
||||
* Append package documents
|
||||
* @param $data
|
||||
|
||||
Reference in New Issue
Block a user