【问题标题】:How to get variable from functions.php to page如何从functions.php获取变量到页面
【发布时间】:2021-09-23 01:15:59
【问题描述】:

我正在尝试获取 $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.'&amp;t=Digital-Certificate" target="_blank" rel="noopener noreferrer">Share this on Facebook</a>

我可以知道如何获取 $cert_url 并在自定义页面上使用它吗?提前致谢!

【问题讨论】:

  • 通过在您的模板中调用&lt;?php $cert_url = get_cert_url( $orderId ); ?&gt;。

标签: php html wordpress


【解决方案1】:

感谢您的回答。我通过使用 add_query_arg() 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-05
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多