Support » Plugin: MailPoet Checkout Subscription for WooCommerce (Legacy) » hooking to another action in woocommerce

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author Sébastien Dumont

    (@sebd86)

    I don’t quiet understand your question.

    Are you asking if you can have the checkbox already ticked on the checkout page?

    Thread Starter amitrahav

    (@amitrahav)

    I want the checkbox will appear only in the checkout page after the mail input

    ryanpl

    (@ryanpl)

    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 199

    fragment 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>’;
    }
    }

    ryanpl

    (@ryanpl)

    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.

    Plugin Author Sébastien Dumont

    (@sebd86)

    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.

    Plugin Author Sébastien Dumont

    (@sebd86)

    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/includes

    open:
    mailpoet-woocommerce-hooks.php

    change 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' );
    
    ?>
Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘hooking to another action in woocommerce’ is closed to new replies.