});
add_action('woocommerce_after_add_to_cart_quantity', function($wps_skip_creating_subscription, $product_id = false) {
+ $app = filter_input(INPUT_GET, 'app', FILTER_SANITIZE_STRING);
if(!$product_id) {
global $product;
}
$product_id = $product_id ?? $product->get_id();
- $wps_price_html = "<div class='frequency'>";
- $wps_price_html .= "<p>Fréquence</p>";
- $wps_price_html .= '<div class="wps_sfw_subscription_wrapper">';
- $wps_price_html .= '<div class ="wps_wsp_onetimesimple_wrapper">';
- $wps_price_html .= '<label for="wps_sfw_check_simple_cart_one_time_purchase"><input name="wps_type_selection" type="radio" class="wps_sfw_check_simple_cart_one_time_purchase" data-pro_type="one_time" value="one_time" id="wps_sfw_check_simple_cart_one_time_purchase" '.(!$wps_skip_creating_subscription ? "checked" : "").' data-id="' . $product_id . '">';
- // translators: one time price.
- $wps_price_html .= sprintf( esc_html__( 'One Time', 'woocommerce-subscriptions-pro' )) . ' ';
- $wps_price_html .= '</label></div>';
- $wps_price_html .= '<div class ="wps_sfw_subscription_inner_wrapper">';
- // translators: placeholder is price_discount_percentage.
- $wps_price_html .= '<label class="wps_sfw_subscription_label" for="wps_sfw_check_simple_cart_subscription_purchase"><input name="wps_type_selection" type="radio" class="wps_sfw_check_simple_cart_subscription_purchase" value="subscribe" id ="wps_sfw_check_simple_cart_subscription_purchase" data-pro_type="subscription" '.($wps_skip_creating_subscription ? "checked" : "").' data-id="' . $product_id . '">' . sprintf( esc_html__( 'Monthly', 'woocommerce-subscriptions-pro' ) ) . '</label></div>';
- $wps_price_html .= '</div>';
-
- $wps_price_html .= "</div>";
+
+ if(!$app) {
+ $wps_price_html = '<input name="wps_type_selection" type="radio" class="wps_sfw_check_simple_cart_one_time_purchase hide-on-desktop" data-pro_type="one_time" value="one_time" id="wps_sfw_check_simple_cart_one_time_purchase" checked data-id="' . $product_id . '">';
+ }else {
+ $wps_price_html = "<div class='frequency'>";
+ $wps_price_html .= "<p>Fréquence</p>";
+ $wps_price_html .= '<div class="wps_sfw_subscription_wrapper">';
+ $wps_price_html .= '<div class ="wps_wsp_onetimesimple_wrapper">';
+ $wps_price_html .= '<label for="wps_sfw_check_simple_cart_one_time_purchase"><input name="wps_type_selection" type="radio" class="wps_sfw_check_simple_cart_one_time_purchase" data-pro_type="one_time" value="one_time" id="wps_sfw_check_simple_cart_one_time_purchase" ' . (!$wps_skip_creating_subscription ? "checked" : "") . ' data-id="' . $product_id . '">';
+ // translators: one time price.
+ $wps_price_html .= sprintf(esc_html__('One Time', 'woocommerce-subscriptions-pro')) . ' ';
+ $wps_price_html .= '</label></div>';
+ $wps_price_html .= '<div class ="wps_sfw_subscription_inner_wrapper">';
+ // translators: placeholder is price_discount_percentage.
+ $wps_price_html .= '<label class="wps_sfw_subscription_label" for="wps_sfw_check_simple_cart_subscription_purchase"><input name="wps_type_selection" type="radio" class="wps_sfw_check_simple_cart_subscription_purchase" value="subscribe" id ="wps_sfw_check_simple_cart_subscription_purchase" data-pro_type="subscription" ' . ($wps_skip_creating_subscription ? "checked" : "") . ' data-id="' . $product_id . '">' . sprintf(esc_html__('Monthly', 'woocommerce-subscriptions-pro')) . '</label></div>';
+ $wps_price_html .= '</div>';
+
+ $wps_price_html .= "</div>";
+ }
echo $wps_price_html;
});
+//
add_action( 'woocommerce_update_cart_action_cart_updated', function($cart_updated){
+ $app = filter_input(INPUT_GET, 'app', FILTER_SANITIZE_STRING);
foreach ( WC()->cart->cart_contents as &$cart_item ) {
- if($_POST['wps_type_selection'] === "one_time") {
+ if ($_POST['wps_type_selection'] === "one_time") {
apply_filters('wps_skip_creating_subscription', true, $cart_item);
$cart_item["wps_type_selection"] = "one_time";
- }else{
+ } else {
apply_filters('wps_skip_creating_subscription', false, $cart_item);
$cart_item["wps_type_selection"] = "subscribe";
}
return true;
});
+// Surcharger le template lié au paiement
add_filter('wc_get_template', function($template, $template_name, $args, $template_path, $default_path) {
if ($template_name === 'checkout/payment.php') {
$custom_template = get_stylesheet_directory() . '/woocommerce/checkout/payment.blade.php';
return $template;
}, 10, 5);
+// Nécessaire du label
add_action('woocommerce_before_add_to_cart_quantity', function(){
- echo "<p class='grey-label label-quantity'>Quantité</p>";
+ echo "<p class='grey-label label-quantity hide-on-desktop'>Quantité</p>";
});
+// Nécessaire pour la redirection juste après avoir ajouté au panier
add_filter('woocommerce_add_to_cart_redirect', function() {
$app = filter_input(INPUT_GET, 'app', FILTER_SANITIZE_STRING);
if ($app == "true") {
return wc_get_cart_url()."?app=true";
}
- return wc_get_cart_url();
+ return false;
});
+// Nécessaire pour la redirection vers la page thankyou
add_filter('woocommerce_get_return_url', function($return_url, $order) {
$app = filter_input(INPUT_POST, '_app', FILTER_SANITIZE_STRING);
- return add_query_arg('app', $app, $return_url);
+ if($app) {
+ return add_query_arg('app', $app, $return_url);
+ }
+ return $return_url;
}, 10, 2);
+
+// API
+function cancelSubscription( $data ) {
+ $subscriptionId = $data['id'];
+ do_action( 'wps_sfw_subscription_cancel', $subscriptionId, 'Cancel' );
+ wps_sfw_update_meta_data( $subscriptionId, 'wps_subscription_cancelled_by', 'by_admin_bulk_action' );
+ wps_sfw_update_meta_data( $subscriptionId, 'wps_subscription_cancelled_date', time() );
+ return "Annulation ok";
+}
+
+add_action( 'rest_api_init', function () {
+ register_rest_route( 'wsp-route/v1', '/cancel/(?P<id>\d+)', array(
+ 'methods' => 'GET',
+ 'callback' => 'cancelSubscription',
+ ) );
+} );