2016-11-21 2 views
1

Hy Я пытаюсь получить текущий язык внутри кода плагина. Я пытаюсь использовать get_locale(), но всегда дает мне просто en_us. Я пытаюсь найти решение по ссылкам на WordPress, но ничего не нашел.WP get locale в коде плагина

В вопросе плагин WooCommerce, файл туалет телега-functions.php Там являются линии:

$added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles)); 

и

$message = sprintf('<a href="%s" class="button wc-forward">%s</a> %s', esc_url(wc_get_page_permalink('cart')), esc_html__('View Cart', 'woocommerce'), esc_html($added_text)); 

Я хочу, чтобы получить этот результат:

if($language == 'hr') { $added_text = sprintf(_n('%s je dodan u košaricu.', '%s su dodani u košaricu.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles)); 
    } else { $added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles)); } 
if($language == 'hr') { $message = sprintf('<a href="%s" class="button wc-forward">%s</a> %s', esc_url(home_url().'/kosarica'), esc_html__('Pogledaj košaricu', 'woocommerce'), esc_html($added_text)); 
     } else { $message = sprintf('<a href="%s" class="button wc-forward">%s</a> %s', esc_url(wc_get_page_permalink('cart')), esc_html__('View Cart', 'woocommerce'), esc_html($added_text)); } 

Как правило, я бы решил это, получив язык от URL, но этот сайт не имеет язык в URL.

+0

Я забыл упомянуть, веб-сайт использует плагин Polylang для языков. – Rufflady

+0

К сожалению, это значит, что это комментарий, но оставит его в качестве ответа. Особенно если это сработает. – craniumonempty

ответ

0

Если вы используете плагин polylang, см. Этот сайт: https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/ .. вам, вероятно, нужно будет использовать pll_current_language(), который должен возвращать текущий язык.

+0

Я попробовал, он работает внутри файлов темы, но не внутри файлов плагинов. – Rufflady

0
<?php 
    $language = pll_current_language('slug'); 
    if($language == 'hr') { 
    $added_text = sprintf(_n('%s je dodan u košaricu.', '%s su dodani u košaricu.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles));} else { 
    $added_text = sprintf(_n('%s has been added to your cart.', '%s have been added to your cart.', sizeof($titles), 'woocommerce'), wc_format_list_of_items($titles)); } 
    if($language == 'hr') { 
    $message = sprintf('<a href="%s" class="button wc-forward">%s</a> %s', esc_url(home_url().'/kosarica'), esc_html__('Pogledaj košaricu', 'woocommerce'), esc_html($added_text));} else { 
    $message = sprintf('<a href="%s" class="button wc-forward">%s</a> %s', esc_url(wc_get_page_permalink('cart')), esc_html__('View Cart', 'woocommerce'), esc_html($added_text)); } 
+0

Мне нужно только перевести эти два предложения. Boss не позволит мне купить плагин для этого:/ – Rufflady

+0

Эти коды работают внутри файлов темы, но не внутри файлов плагинов. Большое вам спасибо за ваши усилия, все вы! Мне нужно будет сделать что-то еще, чтобы получить информацию о текущем языке внутри файла плагина. Еще раз спасибо, я ценю ваши усилия! – Rufflady

Смежные вопросы