我正在开发一个在结账前显示购物车的网上商店。就像现在它是购物车前的结帐。
我不能让它工作。我遇到了一个问题,插件总是显示在内容的顶部。我在不久前解决了这个问题。现在我更新了插件并尝试了与您在底部听到的相同的 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 上的新手,似乎无法让我自己工作。