Php 获取像素的订单id和金额

Php 获取像素的订单id和金额,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我一直在尝试在woocommerce的wordpress网站上为结帐页面实现一个“像素”: <iframe src="//www.euroads.dk/system/showtrackingpixels.php?cpid=XXXX&sid=1&orderid=%orderid%&currencysymbol=DKK&orderamount=%orderamount%" width=1 height=1 marginwidth=0 marginheight=0

我一直在尝试在woocommerce的wordpress网站上为结帐页面实现一个“像素”:

<iframe src="//www.euroads.dk/system/showtrackingpixels.php?cpid=XXXX&sid=1&orderid=%orderid%&currencysymbol=DKK&orderamount=%orderamount%" width=1 height=1 marginwidth=0 marginheight=0 ALLOWTRANSPARENCY="true" frameborder=0 scrolling=no hspace=0 vspace=0></iframe>
<?php echo WC()->cart->get_cart_total(); ?>

我希望%orderid%获得订单id,%orderamount%获得订单总金额

我已尝试将%orderid%替换为此

<?php echo $order->id ?>

以及%orderamount%与此:

<iframe src="//www.euroads.dk/system/showtrackingpixels.php?cpid=XXXX&sid=1&orderid=%orderid%&currencysymbol=DKK&orderamount=%orderamount%" width=1 height=1 marginwidth=0 marginheight=0 ALLOWTRANSPARENCY="true" frameborder=0 scrolling=no hspace=0 vspace=0></iframe>
<?php echo WC()->cart->get_cart_total(); ?>

但是它没有给出正确的结果(


有人能帮我吗?

必须是感谢页面,因为您在结账时没有指定订单ID。假设您可以将像素添加到
woocommerce\u Thankyu
挂钩,挂钩会自动传递
$order\u ID
变量

add_action( 'woocommerce_thankyou', 'so_31783715_pixel' );
function so_31783715_pixel( $order_id ){
    $order = wc_get_order( $order_id );
    $order_total = $order->get_total();
    printf( "<iframe src="//www.euroads.dk/system/showtrackingpixels.php?cpid=XXXX&sid=1&orderid=%s%&currencysymbol=DKK&orderamount=%s" width=1 height=1 marginwidth=0 marginheight=0 ALLOWTRANSPARENCY="true" frameborder=0 scrolling=no hspace=0 vspace=0></iframe>", $order_id, $order_total );

}
add_action('woocommerce_thankyou'、'so_31783715_pixel');
函数so_31783715_像素($order_id){
$order=wc\u get\u order($order\u id);
$order_total=$order->get_total();
printf(“,$order\u id,$order\u total”);
}

将以下代码添加到主题的函数文件中

只需更新像素的基本部分,使其与所选平台的像素配合即可

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////// ADD TO THE END OF YOUR THEME'S FUNCTIONS.PHP FILE ////////////////////////////////////////
if( ! function_exists( 'add_OfferForge_pixel_code' ) )
{
    function add_OfferForge_pixel_code()
    {
        if( is_order_received_page() )
        {
            $oid = "11184";// Offer id - o variable
            $eid = "183";// event id - e variable

            $getid = $_SERVER["REQUEST_URI"];
            $uu = explode('/',$getid);
            // if -- ["REQUEST_URI"]=> "/checkout/order-received/1689/?key=wc_order_55c9ee479b4c9"
            $transid = $uu[3];// order id
            $ppppp = $GLOBALS["wp_object_cache"]->cache["post_meta"][$transid]["_order_total"][0]; // price variable with shipping
            echo '<iframe src="https://offerforge.net/p.ashx?o='.$oid.'&e='.$eid.'&t='.$transid.'&p='.$ppppp.'&ect='.$ppppp.'" height="1" width="1" frameborder="0"></iframe>';
        }
    }
}
add_action( 'wp_footer', 'add_OfferForge_pixel_code', 99 );
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////添加到主题的FUNCTIONS.PHP文件的末尾////////////////////////////////////////
如果(!function_存在('add_OfferForge_pixel_code'))
{
函数add\u OfferForge\u pixel\u code()
{
如果(订单收到了吗?页面()
{
$oid=“11184”//Offer id-o变量
$eid=“183”//事件id-e变量
$getid=$\u服务器[“请求\u URI”];
$uu=explode('/',$getid);
//如果--[“请求URI”]=>“/checkout/order received/1689/?key=wc\u order\u 55c9ee479b4c9”
$transid=$uu[3];//订单id
$ppppp=$GLOBALS[“wp\u object\u cache”]->cache[“post\u meta”][$transid][“\u order\u total”][0];//带发货的价格变量
回声';
}
}
}
添加操作('wp\u footer','add\u OfferForge\u pixel\u code',99);
/////////////////////////////////////////////////////////////////////////////
我希望这对你有用

我使用订单总额作为r和ect变量的金额


**如果您正在放置OfferForge像素,则只需更新“oid”和“eid”值。

您真的希望此像素出现在签出页面上?还是订单已完成(又名谢谢)页面?无论哪种方式,您当前都没有显示如何定义
$order
变量,因此
$order->id
没有任何价值。是的,在非常有限的说明中,他们告诉我将其放在签出页面。我同意您的看法,将其放在“谢谢”上更有意义页面。你认为我必须使用某种函数来定义id和数量,以使其正常工作吗?很抱歉重复发布。感谢合并我的帖子Martijn Pieterst这几乎正是我想要的。因为我想
本地化
一组订单变量,我所做的主要更改是调用
wp\u enqueue\u scripts
func中添加\u action
,并将
woocommerce\u thankyou
函数内联(
add\u action('woocommerce\u thankyou',function(){…
),然后将我的
wp\u localize\u脚本扔到其中。效果非常好!