Support » Plugin: MailPoet Checkout Subscription for WooCommerce (Legacy) » hooking to another action in woocommerce
hooking to another action in woocommerce
-
how can i hock the checkbox to the mail filed on the checkout page?
-
I don’t quiet understand your question.
Are you asking if you can have the checkbox already ticked on the checkout page?
I want the checkbox will appear only in the checkout page after the mail input
I want achieve similar thing – move checkbox field.
I tried to move checkbox field by changing plugin file
// hook into checkout page (line 79-80)
add_action('woocommerce_after_order_notes', array(&$this, 'on_checkout_page'));
to
add_action('woocommerce_review_order_before_submit', array(&$this, 'on_checkout_page'));
but then I receive
Fatal error: Call to a member function get_value() on a non-object in /vol/www/…../wp-content/plugins/mailpoet-woocommerce-add-on/mailpoet-woocommerce-addon.php on line 199fragment of mailpoet….addon.php (line 183-202)
/**
* This displays a checkbox field on the checkout
* page to allow the customer to subscribe to newsletters.
*/
function on_checkout_page($checkout){
// Checks if subscribe on checkout is enabled.
$enable_checkout = get_option(‘mailpoet_woocommerce_enable_checkout’);
$checkout_label = get_option(‘mailpoet_woocommerce_checkout_label’);if($enable_checkout == ‘yes’){
echo ‘<div id=”mailpoet_checkout_field”>’;
//echo apply_filters(‘mailpoet_woocommerce_subscribe_checkout_title’, ‘<h3>’.__(‘Subscribe to Newsletter’, ‘mailpoet_woocommerce’).'</h3>’);
woocommerce_form_field(‘mailpoet_checkout_subscribe’, array(
‘type’ => ‘checkbox’,
‘class’ => array(‘mailpoet-checkout-class form-row-wide’),
‘label’ => htmlspecialchars(stripslashes($checkout_label)),
), $checkout->get_value(‘mailpoet_checkout_subscribe’));
echo ‘</div>’;
}
}amitrahav try this:
remove in /wp-content/plugins/mailpoet-woocommerce-add-on/mailpoet-woocommerce-addon.php
add_action('woocommerce_after_order_notes', array(&$this, 'on_checkout_page'));
and add:
add_action('woocommerce_after_checkout_billing_form', array(&$this, 'on_checkout_page'));
Now we can have checkbox after billing fields. In my case it’s under e-mail and name fields which is almost what I would like to achieve. However I wonder how I can’t set woocommerce_review_order_before_submit hook.
An update will be pushed today to get the settings page to work for WooCommerce v2.1 and up.
I will discuss the location of the subscription checkbox with the MailPoet team.
It may be another option that I can add that will allow you to place were you want it on the checkout page.
To all on this support topic, a plugin update has been released. Your problems should now be fixed.
to set mailpoet newsletter under billing field:
go to:
/wp-content/plugins/mailpoet-woocommerce-add-on/includesopen:
mailpoet-woocommerce-hooks.phpchange to:
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly // hook into checkout page - adds field after order notes. add_action( 'woocommerce_after_checkout_billing_form', 'on_checkout_page' ); ?>
- The topic ‘hooking to another action in woocommerce’ is closed to new replies.