Support » Plugin: Force Login » Help with Woocommerce cart

  • Resolved Jader

    (@jadersilvwp)


    Hello,

    I’m trying to use Force login with Woocommerce. I added two pages on whitelist and modify your snippet like this:

    /**
    * Bypass Force Login to allow for exceptions.
    *
    * @param bool $bypass Whether to disable Force Login. Default false.
    * @param string $url The visited absolute URL.
    * @return bool
    */
    function my_forcelogin_bypass( $bypass, $url ) {

    echo $url;
    wp_die();

    $whitelist = array(
    home_url( ‘/compra-segura/?’ . $_SERVER[‘QUERY_STRING’] ),
    home_url( ‘/carrinho/?’ . $_SERVER[‘QUERY_STRING’] ),
    );

    if ( ! $bypass ) {
    $bypass = in_array( $url, $whitelist );
    }
    return $bypass;

    }
    add_filter( ‘v_forcelogin_bypass’, ‘my_forcelogin_bypass’, 10, 2 );

    But did not work. I put echo $url; wp_die(); only to know what is the correct url and I found https://mydomain.com/carrinho/.

    What I doing wrong?

    Could you help me?

    Regards.

    Jader Silva

Viewing 4 replies - 1 through 4 (of 4 total)
  • Jader

    (@jadersilvwp)

    More details:

    /compra-segura/ is my checkout page;
    /carrinho/ is my cart page;

    I’m using another snippet code to redirect cart directly to checkout page.

    /* Redirect */
    add_filter( ‘woocommerce_add_to_cart_redirect’, ‘skip_cart_redirect_checkout’ );

    function skip_cart_redirect_checkout( $url ) {
    return wc_get_checkout_url();
    }

    Plugin Author Kevin Vess

    (@kevinvess)

    Hi– thanks for using Force Login!

    I suggest you try the WooCommerce Conditional Tags.

    Check out this support thread for an example:
    https://wordpress.org/support/topic/whitelist-woocommerce/

    • This reply was modified 4 months, 3 weeks ago by Kevin Vess.
    Jader

    (@jadersilvwp)

    Hi @kevinvess

    I did it:

    function my_forcelogin_bypass( $bypass ) {
    if ( class_exists( ‘WooCommerce’ ) ) {
    if ( is_woocommerce() || is_wc_endpoint_url() ) {
    $bypass = true;
    }
    }
    return $bypass;
    }
    add_filter( ‘v_forcelogin_bypass’, ‘my_forcelogin_bypass’ );

    But did not work.

    I do not know why, but the code bellow mabe return another url:

    /* Redirect */
    add_filter( ‘woocommerce_add_to_cart_redirect’, ‘skip_cart_redirect_checkout’ );

    function skip_cart_redirect_checkout( $url ) {
    return wc_get_checkout_url();
    }

    Do you have any idea?

    Best regards.

    Plugin Author Kevin Vess

    (@kevinvess)

    Unfortunately, I’m unable to help you troubleshoot this issue without access to your site and a better understanding of your developed site.

    Maybe this support thread will also be helpful:
    https://wordpress.org/support/topic/bypass-all-woocommerce-urls/

    Good luck!

Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.