89 lines
3.6 KiB
PHP
89 lines
3.6 KiB
PHP
<?php
|
|
/**
|
|
* Class WPDesk_Flexible_Shipping_Multilingual
|
|
*
|
|
* @package Flexible Shipping
|
|
*/
|
|
|
|
use WPDesk\FS\TableRate\FreeShipping\NoticeTextSettings;
|
|
|
|
/**
|
|
* Handles multilingual.
|
|
*/
|
|
class WPDesk_Flexible_Shipping_Multilingual {
|
|
|
|
/**
|
|
* @var Flexible_Shipping_Plugin
|
|
*/
|
|
private $plugin;
|
|
|
|
/**
|
|
* WPDesk_Flexible_Shipping_Multilingual constructor.
|
|
*
|
|
* @param Flexible_Shipping_Plugin $plugin .
|
|
*/
|
|
public function __construct( Flexible_Shipping_Plugin $plugin ) {
|
|
$this->plugin = $plugin;
|
|
$this->hooks();
|
|
}
|
|
|
|
/**
|
|
* .
|
|
*/
|
|
private function hooks() {
|
|
add_action( 'woocommerce_init', [ $this, 'init_polylang' ] );
|
|
add_action( 'admin_init', [ $this, 'init_wpml' ] );
|
|
}
|
|
|
|
/**
|
|
* .
|
|
*/
|
|
public function init_polylang() {
|
|
if ( function_exists( 'pll_register_string' ) ) {
|
|
$all_shipping_methods = flexible_shipping_get_all_shipping_methods();
|
|
$flexible_shipping = $all_shipping_methods['flexible_shipping'];
|
|
$flexible_shipping_rates = $flexible_shipping->get_all_rates();
|
|
foreach ( $flexible_shipping_rates as $flexible_shipping_rate ) {
|
|
if ( isset( $flexible_shipping_rate['method_title'] ) ) {
|
|
pll_register_string( $flexible_shipping_rate['method_title'], $flexible_shipping_rate['method_title'], __( 'Flexible Shipping', 'flexible-shipping' ) );
|
|
}
|
|
if ( isset( $flexible_shipping_rate['method_description'] ) ) {
|
|
pll_register_string( $flexible_shipping_rate['method_description'], $flexible_shipping_rate['method_description'], __( 'Flexible Shipping', 'flexible-shipping' ) );
|
|
}
|
|
if ( isset( $flexible_shipping_rate['method_free_shipping_label'] ) ) {
|
|
pll_register_string( $flexible_shipping_rate['method_free_shipping_label'], $flexible_shipping_rate['method_free_shipping_label'], __( 'Flexible Shipping', 'flexible-shipping' ) );
|
|
}
|
|
if ( isset( $flexible_shipping_rate[ NoticeTextSettings::FIELD_NAME ] ) ) {
|
|
pll_register_string( $flexible_shipping_rate[ NoticeTextSettings::FIELD_NAME ], $flexible_shipping_rate[ NoticeTextSettings::FIELD_NAME ], __( 'Flexible Shipping', 'flexible-shipping' ) );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* .
|
|
*/
|
|
public function init_wpml() {
|
|
if ( function_exists( 'icl_register_string' ) ) {
|
|
$icl_language_code = defined( 'ICL_LANGUAGE_CODE' ) ? ICL_LANGUAGE_CODE : get_bloginfo( 'language' );
|
|
$all_shipping_methods = flexible_shipping_get_all_shipping_methods();
|
|
$flexible_shipping = $all_shipping_methods['flexible_shipping'];
|
|
$flexible_shipping_rates = $flexible_shipping->get_all_rates();
|
|
foreach ( $flexible_shipping_rates as $flexible_shipping_rate ) {
|
|
if ( isset( $flexible_shipping_rate['method_title'] ) ) {
|
|
icl_register_string( 'flexible-shipping', $flexible_shipping_rate['method_title'], $flexible_shipping_rate['method_title'], false, $icl_language_code );
|
|
}
|
|
if ( isset( $flexible_shipping_rate['method_description'] ) ) {
|
|
icl_register_string( 'flexible-shipping', $flexible_shipping_rate['method_description'], $flexible_shipping_rate['method_description'], false, $icl_language_code );
|
|
}
|
|
if ( isset( $flexible_shipping_rate['method_free_shipping_label'] ) ) {
|
|
icl_register_string( 'flexible-shipping', $flexible_shipping_rate['method_free_shipping_label'], $flexible_shipping_rate['method_free_shipping_label'], false, $icl_language_code );
|
|
}
|
|
if ( isset( $flexible_shipping_rate[ NoticeTextSettings::FIELD_NAME ] ) ) {
|
|
icl_register_string( 'flexible-shipping', $flexible_shipping_rate[ NoticeTextSettings::FIELD_NAME ], $flexible_shipping_rate[ NoticeTextSettings::FIELD_NAME ], false, $icl_language_code );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|