1

我正在开发一个在结账前显示购物车的网上商店。就像现在它是购物车前的结帐。

我不能让它工作。我遇到了一个问题,插件总是显示在内容的顶部。我在不久前解决了这个问题。现在我更新了插件并尝试了与您在底部听到的相同的 agien。

原始代码是这样的:

public function __construct() {

    add_action('init', array( &$this, 'start_session' ), 1);

    add_shortcode( 'woocommerce_klarna_checkout', array(&$this, 'klarna_checkout_page') );

    //add_action( 'woocommerce_proceed_to_checkout', array( &$this, 'checkout_button' ), 12 );

    add_filter( 'woocommerce_get_checkout_url', array( &$this, 'change_checkout_url' ), 20 );



}

// Set session
function start_session() {      

    $data = new WC_Gateway_Klarna_Checkout;
    $enabled = $data->get_enabled();

    if(!session_id() && $enabled == 'yes') {
        session_start();
    }
}

// Shortcode
function klarna_checkout_page() {

    $data = new WC_Gateway_Klarna_Checkout;
    $data->get_klarna_checkout_page();


    }

我试过这个:

            ob_start();
    $data->get_klarna_checkout_page();
    $output_string=ob_get_contents();;
    ob_end_clean();

    return $output_string;

比洞插件消失,唯一显示的是/ *

正如我在顶部所写的那样,该解决方案适用于插件的较早版本,但现在不行。我只能在 webb 上找到这个解决方案。因此,如果有人有任何想法,我会喜欢的。

Mabey的问题是短代码不在我放置ob_start()的功能中;? 我就像 php 上的新手,似乎无法让我自己工作。

4

0 回答 0