2016-12-25 12 views
4

С помощью сообщества мне удалось создать, сохранить и распечатать метки и их значения на странице одного продукта.Перевести поля пользовательских меток в файле functions.php моей темы

Я также могу перевести входные значения на разные языки, используя Polylang, но перевод пользовательских ярлыков (Условия и бренды) чрезвычайно сложный.

Кто-нибудь может помочь мне с этими проблемами?

Я пытался использовать Polylang, Saywhat ... без успеха!

Вот код:

// Enabling and Displaying Fields in backend 
add_action('woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields'); 
function woo_add_custom_general_fields() { 
    global $woocommerce, $post; 

    echo '<div class="options_group">'; 
    woocommerce_wp_text_input(array(// Text Field type 
     'id'   => '_conditions', 
     'label'  => __('Conditions', 'woocommerce'), 
     'placeholder' => 'i.e: brand-new; refurbished; defected...', 
     'desc_tip' => 'true', 
     'description' => __('Enter the conditions of the products here.', 'woocommerce') 
    )); 
    woocommerce_wp_text_input(array(// Text Field type 
     'id'   => '_brands', 
     'label'  => __('Brands', 'woocommerce'), 
     'placeholder' => 'i.e: Lacoste; Hugo Boss...etc', 
     'desc_tip' => 'true', 
     'description' => __('Enter names of the Brands of the products if any.', 'woocommerce') 
    )); 
    echo '</div>'; // Closing </div> tag HERE 
} 

// Save Fields values to database when submitted (Backend) 
add_action('woocommerce_process_product_meta', 'woo_save_custom_general_fields'); 
function woo_save_custom_general_fields($post_id){ 

    // Saving "Conditions" field key/value 
    $conditions_field = $_POST['_conditions']; 
    if(!empty($conditions_field)) 
     update_post_meta($post_id, '_conditions', esc_attr($conditions_field)); 

    // Saving "Brands" field key/value 
    $brands_field = $_POST['_brands']; 
    if(!empty($brands_field)) 
     update_post_meta($post_id, '_brands', esc_attr($brands_field)); 
} 
add_action('woocommerce_single_product_summary', 'woo_display_custom_general_fields_values', 20); 
function woo_display_custom_general_fields_values() { 
    global $product; 

    echo '<p class="custom-conditions">Conditions: ' . get_post_meta($product->id, '_conditions', true) . '</p>'; 
    echo '<p class="custom-brands">Brands: ' . get_post_meta($product->id, '_brands', true) . '</p>'; 
} 

А вот скриншот:

enter image description here

Спасибо.

+0

Я пробовал локомотив, но это не помогло. Честно говоря, я не очень старался. Я все еще ищу решение в Polylang, потому что я нашел Polylang действительно здорово! –

+0

Polylang действительно не будет работать полностью с WooCommerce ... Вы увидите, что может быть слишком поздно, когда ваш проект будет в основном закончен (в этом случае удаление Polylang и установка всех для другого плагина будет долгим и сложным процессом) ... Я говорю вам, что по опыту и везде использую WPML без проблем. Так что, может быть, вам хорошо подумать об этом сейчас. – LoicTheAztec

+0

Благодарим вас за советы. Да, я изменился на WPML, процесс немного усложняет, но кажется более стабильным и более простым в использовании, чем Polylang. Какая жалость к Полилану! –

ответ

1

Во-первых, вы должны изменить имя домена gettex из 'woocommerce' к доменному имени вашей темы (или что-то более пользовательских), так как он не делает часть WooCommerce кода, и он находится в вашей активной темы.

1) Свободная альтернатива:

Тогда, как это на самом деле не содержание, которое вы пытаетесь перевести, но некоторые Миры кода, расположенного в function.php файл вашей активной темы ребенка (или активной теме), вы должны использовать специальный бесплатный плагин как Loco Translate, который обеспечит в браузере редактирование файлов перевода WordPress.

Loco Translate, также предоставляет инструменты локализации для разработчиков, такие как извлечение строк и создание шаблонов.

Loco Перевести функции включают в себя:

  • Встроенный редактор перевода в WordPress администратора
  • Создать и языковые обновления файлов непосредственно в вашей теме или плагин
  • Добыча переводимые строки из исходного кода
  • Сборник собственных файлов MO без использования Gettext в вашей системе
  • Поддержка функций PO, включая комментарии, ссылки и множественные формы
  • PO вида источника с интерактивным исходным кодом ссылается на
  • Protected каталога языка для сохранения Пользовательских переводов
  • Настраиваемого файла PO резервных копиями
  • Встроенных WordPress локалите коды

2) коммерческий полный путь (полностью совместимый с WooCommerce):

Самая полная коммерческая альтернатива - это плагин WPML, который также будет прекрасно и легко обрабатывать пользовательскую локализацию и перевод WooCommerce для многоязычных веб-сайтов. Другие бесплатные дополнительные плагины являются неполными для WooCommerce и намного сложнее заставить их работать полностью.

Итак, если вы планируете публиковать многоязычный веб-сайт, подумайте об этом.