我正在尝试获取$cert_url并在我的自定义页面中使用它来创建到Facebook的可共享链接。但是,我不知道如何获取变量functions.php并将其传递给自定义页面。
Functions.php
add_action( 'woocommerce_thankyou', 'get_cert_url' );
function get_cert_url( $order_id ) {
global $wpdb;
$msf_campaign_status = array('wc-completed');
$msf_campaign_detail = get_post_meta($order_id);
$msf_campaign_fund = $msf_campaign_detail['msf_charity_fund'][0];
$order = wc_get_order( $order_id );
if( $order->has_status('processing') ){
$name_on_e_cert = str_replace(" ", "+", $msf_campaign_detail['name_on_e_cert'][0]);
$msf_charity_name = get_option('wc_fields_billing');
if($msf_campaign_detail['charity_organizations'][0] == 'msf_charity_1'){
$charity_name = $msf_charity_name['charity_organizations']['options']['msf_charity_1'];
}
elseif ($msf_campaign_detail['charity_organizations'][0] == 'msf_charity_2') {
$charity_name = $msf_charity_name['charity_organizations']['options']['msf_charity_2'];
}
elseif ($msf_campaign_detail['charity_organizations'][0] == 'msf_charity_3') {
$charity_name = $msf_charity_name['charity_organizations']['options']['msf_charity_3'];
}
elseif ($msf_campaign_detail['charity_organizations'][0] == 'msf_charity_4') {
$charity_name = $msf_charity_name['charity_organizations']['options']['msf_charity_4'];
}
$donateto = str_replace(" ", "+", $charity_name);
$subtotal = $order->get_subtotal();
$amount = (($subtotal*25)/100);
$request = wp_remote_retrieve_body(wp_remote_get('https://www.api_website.com.my/api/c/product.ashx?key=api_key&orderid='.$order_id.'&name='.$name_on_e_cert.'&donateto='.$donateto.'&amount='.$amount.''));
$data = json_decode($request);
$result[]= $data;
foreach($result[0] as $line) {
$cert_url = $line;
}
return $cert_url;
}
}下面的代码是创建一个共享按钮来共享到Facebook的链接。
自定义页面
<a href="https://www.facebook.com/sharer?u='.$cert_url.'&t=Digital-Certificate" target="_blank" rel="noopener noreferrer">Share this on Facebook</a>我可以知道如何获得$cert_url并在自定义页面上使用它吗?提前谢谢!
发布于 2021-09-22 17:15:59
谢谢你的回答。我使用add_query_arg()解决了这个问题。
https://stackoverflow.com/questions/69255525
复制相似问题