繁体   English   中英

支付网关添加语言网址(Wordpress / Polylang / Woocommerce)

[英]Payment Gateway adding language url (Wordpress/Polylang/Woocommerce)

我有一个运行Woocommerce的Wordpress网站。 该网站提供3种不同语言的版本。 我运行Polylang插件。 我有一个名为Europabank的付款网关。 当我订购产品并选择此网关时,一切正常。 我可以支付给定的金额,并且付款成功。 但是在付款之后,用户将被重定向到网站确认页面。 该插件使用以下代码处理此问题:

'feedbackurl' => WC ()->api_request_url ( 'WC_Gateway_EuropabankMpi' ),
'redirecturl' => WC ()->api_request_url ( 'WC_Gateway_EuropabankMpi' ), 

付款后,网址将如下所示:

http://my-website-url.com/wc-api/WC_Gateway_EuropabankMpi/?somedata

当我将URL更改为:(添加/ en / )时,此URL将给出404错误,因为未提供语言

http://my-website-url.com/en/wc-api/WC_Gateway_EuropabankMpi/?somedata

将工作。 所以我需要将语言代码添加到url中。 我可以用:

<?php  $currentlang = get_bloginfo('language');
                switch ($currentlang) {
                case "nl-NL":
                echo "/nl/";
                break;
                case "fr-FR":
                echo '/fr/';
                break;
                case "en-GB":
                echo '/en/';
                break;
                default: echo '/en/';
        };?>

我必须在哪里添加此代码? 我不介意直接更改插件,因为它不需要更新,但是如果您有一个更新证明解决方案,那显然会更好。

插件版本和链接

感谢Rophil_PHPBeginner指出正确的放置位置。

woocommerce.php中的工作代码:

    $currentlang = get_bloginfo('language');
            switch ($currentlang) {
            case "nl-NL":
            $lang = "/nl";
            break;
            case "fr-FR":
            $lang = '/fr';
            break;
            case "en-GB":
            $lang = '/en';
            break;
            default: $lang = '/en';
    };

    if ( strstr( get_option( 'permalink_structure' ), '/index.php/' ) ) {
        $api_request_url = trailingslashit( home_url( $lang . '/index.php/wc-api/' . $request, $scheme ) );
    } elseif ( get_option( 'permalink_structure' ) ) {
        $api_request_url = trailingslashit( home_url( $lang . '/wc-api/' . $request, $scheme ) );
    } else {
        $api_request_url = add_query_arg( 'wc-api', $request, trailingslashit( home_url( '', $scheme ) ) );
    }

    return esc_url_raw( $api_request_url );
}

UPDATE

Woocommerce现在提供了一个过滤器来解决此问题https://github.com/woothemes/woocommerce/commit/56d303f4d3139336d539514f9dc15efda0a0381c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM