Задать вопрос
  • Woodmart+WooCommerce как перевести на русский пункты фильтра?

    @JivoyRoman Автор вопроса
    Пычев Анатолий, и в любом случае спасибо большое:)
  • Woodmart+WooCommerce как перевести на русский пункты фильтра?

    @JivoyRoman Автор вопроса
    Пычев Анатолий, Извините пожалуйста что побеспокоил Вас:))
    Но в другой теме увидел ответ, что возможно перевод не получается из-за того, что текст в поле "value". То есть в тему не вшит)
    И я сразу все понял. Все встало на свои места. Я сглупил, блин и ваше время отнял:)
    Ответ:
    5d123c3eaa0dc694587039.jpeg
  • Woodmart+WooCommerce как перевести на русский пункты фильтра?

    @JivoyRoman Автор вопроса
    Пычев Анатолий, ок.
    1. Нашел файл product-filters.php,
    Может эти строки в коде не идут через функцию перевода?
    Поищите их поисковиком по коду и посмотрите.

    Поискал. Поиском по коду есть только строчка 182. Посмотрел код выше. Практически все строчки оттуда есть в переводе, все идут.
    2.Поправил перевод прямо в файле:
    5d1218b2e1eab957939745.jpeg
    Результата ноль.
    3. Использовал ваш код:
    5d1219f8d68f2958204364.jpeg
    Сохранил. Зашел на страницу с фильтром.
    Поиском фа файлам нашел только это:
    5d121a5376e8f726750150.jpeg
    Нету вашего файла.

    Может за фильтр справа отвечает другой скрипт, как найти какой? Потому что это единственное место которое не переводится. Все что переводил до и после - влет. Перевел, сохранил, готово. Без каких либо проблем вообще.
    Если в настройках темы убрать колонку справа, то есть без фильтра остаться, то и переводить нечего. Но блин, фильтр нужен.
    Может код на каком нибудь другом языке, не PHP, а JS? И поэтому Loco не видит.
  • Woodmart+WooCommerce как перевести на русский пункты фильтра?

    @JivoyRoman Автор вопроса
    Поищите их поисковиком по коду и посмотрите.

    Вы про это?
    5d1206bf6794b203988070.jpeg
  • Woodmart+WooCommerce как перевести на русский пункты фильтра?

    @JivoyRoman Автор вопроса
    Попробуйте вывести в лог все аргументы вашей функции и посмотрите что в нее приходит.

    Как это сделать?)
  • Woodmart+WooCommerce как перевести на русский пункты фильтра?

    @JivoyRoman Автор вопроса
    Ну и Loco же переводит. И даже сейчас. И файлы переводов содержат правки, если смотреть не через вордпресс. Но вот именно эти пункты ни в какую не меняются. Их видимо надо менять где-то в другом месте. Я даже кодом:
    /// перевод 
    add_filter('gettext', 'translate_text');
    add_filter('ngettext', 'translate_text');
     
    function translate_text($translated) {
     
    $translated = str_ireplace('Filter by price', 'Фильтр по цене', $translated);
     
     
    return $translated;
     
    }

    В functions.php пробовал. Никак.
  • Как проверить содержимое полей ACF и не выводить вкладку (tabs) если пусто?

    @JivoyRoman Автор вопроса
    Не все поля заполняются в плагине. А пустые выводить на страницу не вариант)
  • Как проверить содержимое полей ACF и не выводить вкладку (tabs) если пусто?

    @JivoyRoman Автор вопроса
    Может кому надо будет, мне помогли, я помогаю))
    Весь код:
    add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
    function woo_new_product_tab( $tabs ) {
    	
    	// Добавляем новую вкладку
    	
    $fields = get_fields();
    $flag=false;
    if ( $fields ){
    foreach( $fields as $name => $value )
    {
    $field = get_field_object($name);
    if ($field['parent']==2581 && !empty($field['value']) && $field['name']!=='mini_opisanie_vibor_vid_product')
    {
    $flag=true;break;
    }
    }
    }
    if ($flag)
    {	
    $tabs['korotkoe_opisanie_tab'] = array(
    		'title' 	=> __( 'Короткое описание товара', 'woocommerce' ),
    		'priority' 	=> 10,
    		'callback' 	=> 'woo_new_product_tab_content_korotkoe'
    	);
    }
    $fields = get_fields();
    $flag=false;
    if ( $fields ){
    foreach( $fields as $name => $value )
    {
    $field = get_field_object($name);
    if ($field['parent']==14 && !empty($field['value']) && $field['name']!=='full_opisanie_vibor_vid_product')
    {
    $flag=true;break;
    }
    }
    }
    if ($flag)
    {   
     $tabs['polnoe_opisanie_tab'] = array(
    		'title' 	=> __( 'Полное описание товара', 'woocommerce' ),
    		'priority' 	=> 11,
    		'callback' 	=> 'woo_new_product_tab_content_polnoe'
    	);
    }
    	return $tabs;
    
    }
    function woo_new_product_tab_content_korotkoe() {
    	$fields = get_fields();
    		if( $fields ): ?>
            <?php foreach( $fields as $name => $value ): 
    		//if (strpos($name,'mini_')!==false){
    			$field = get_field_object($name);
    		if ($field['parent']==2581){
    ?>
    			<?php if (!empty($field['value']) && $field['name']!=='mini_opisanie_vibor_vid_product'):?>
    				<span style="font-family: courier new, courier, monospace; font-size: 14pt;"><strong><?php echo $field['label']; ?>:</strong> <?php echo $field['value'];  ?></span><br>
    			<?php endif; 
    		}
    		?>
            <?php endforeach; ?>
    <?php endif;
    }
    function woo_new_product_tab_content_polnoe() {
    	$fields = get_fields();
    		if( $fields ): ?>
            <?php foreach( $fields as $name => $value ): 
    		//if (strpos($name,'full_')!==false){
    			$field = get_field_object($name);
    		if ($field['parent']==14){
    ?>
    			<?php if (!empty($field['value']) && $field['name']!=='full_opisanie_vibor_vid_product'):?>
    				<span style="font-family: courier new, courier, monospace; font-size: 14pt;"><strong><?php echo $field['label']; ?>:</strong> <?php echo $field['value'];  ?></span><br>
    			<?php endif; 
    		}
    		?>
            <?php endforeach; ?>
    <?php endif;
    }

    Для плагина Advanced Custom Fields (ACF).
    В плагине куча полей. Часть из них могут не заполняться. КОд проверяет поля на пустоту и не выводит пустые поля.
    Код проверки табов не создает вкладку если в полях пусто вообще. И создает если хоть одно поле заполнено.
  • Как проверить содержимое полей ACF и не выводить вкладку (tabs) если пусто?

    @JivoyRoman Автор вопроса
    Поправил код.
    Добавил:
    $field = get_field_object($name);
    Перед строчкой:
    if ($field['parent']==14 &...
    Все работает.
  • Калькулятор на Wordpress с плагином WPcalc. Как указать базовую цену?

    @JivoyRoman Автор вопроса
    Анатолий, "Как вариант можете написать калькулятор самостоятельно".
    Писать код нужно в файл темы function.php?
    Или куда? чтобы при обновлении темы/плагина/вордпресса все не потерлось.
    Самостоятельно написать вряд ли смогу, представления не имею что писать. Буду смотреть примерам и что-то лепить, собирать в кусу.
  • Калькулятор на Wordpress с плагином WPcalc. Как указать базовую цену?

    @JivoyRoman Автор вопроса
    Да я разобрался. Плагин WPcalc не подойдет. Нужно лишь поправить пункт количества.
    Сейчас у меня так:
    5d00ea3a88c10174465878.jpeg
    Можно как-то поправить этот пункт?
    Нужно, чтобы клиент сам мог вводить требуемую длину. Нужно чтобы длину можно было вводить кратной 0.05 метра в квадрате. Например, 5.65м2, 7.80. Нельзя: 5.66,7.81.
    Нужно чтобы сразу выводилась сумма:
    Ширина*Длина*базовая цена = сумма.
    Как-то можно это сделать?

    Перепробовал плагины, но они не работают с вариативными товарами.
  • Advanced Custom Fields - Как сделать проверку и вывод соответствующих полей?

    @JivoyRoman Автор вопроса
    Код:
    add_action( 'woocommerce_before_add_to_cart_form', 'my_custom_action' );
    function my_custom_action() {
    	$fields = get_fields();
    	if( $fields ): ?>
            <?php foreach( $fields as $name => $value ): 
    		
    		$field = get_field_object($name);
    		if (!empty($field['value']) && $field['name']!=='type_product_or_category'):
    		?>
                <p><b><?php echo $field['label']; ?></b> <?php echo $field['value'];  ?></p>
  • Advanced Custom Fields - Как сделать проверку и вывод соответствующих полей?

    @JivoyRoman Автор вопроса
    Спасибо за наводку) Да, я понимаю что для кого-то это все просто) Но в PHP мало было необходимости, отсюда и сложности в написании чего-то очевидного.
    Спасибо, еще раз) Так сразу все равно не ясно, буду думать как по документации делать свое)
  • WooCommerce - Свойства товара, как добавить полей?

    @JivoyRoman Автор вопроса
    После 'Вид: ' должна быть точка, а не запятая.

    Добрый день)
    Я поставил запятую, потому что тогда на странице товара запись выглядит правильно.
    Вид: Коммерческий
    А если стоит точка, то тогда будет так
    КоммерческийВид:

    А по вопросу проверки у меня пока не получается. Знаний кода мало) Думаю, может отдельную тему создать? Начальный вопрос по теме решен. Теперь вопрос немного в другом.

    Я подробно распишу что нужно, моет так проще будет меня понять) Или мне понять.
  • WooCommerce - Свойства товара, как добавить полей?

    @JivoyRoman Автор вопроса
    Пычев Анатолий,
    add_action( 'woocommerce_before_add_to_cart_form', 'my_custom_action' );
    function my_custom_action() {
      if ('второй' == get_the_field('type') ) {
        the_field('pole_2');
      }
    }

    Практически в всем разобрался, но вот последний затык. Надеюсь что последний)
    Проверка, что выбрано и вывод полей на странице товара, для посетителей сайта.
    Что должно быть вместо "Второй?"
    Вот мой код, без проверки:
    5cfd374cd8ccb104764563.jpeg
    Для каждого поля нужно писать код с проверкой?

    Если для данного товара в админке 20 полей, то и в functions.php я пишу для каждого поля свой код с проверкой?

    Такой код с проверкой:
    add_action( 'woocommerce_product_meta_start', 'my_custom_action' );
    function my_custom_action() {
      if ('Коммерческий' == get_the_field('type') ) {
    echo 'Вид: ' , the_field('linoleum_vid');
    echo '<p>';
      }
    }

    Не работает)

    Если добавляю код:
    add_action( 'woocommerce_product_meta_start', 'my_custom_action' );
    function my_custom_action() {
    echo 'Вид: ' , the_field('linoleum_vid');
    echo '<p>';
    }

    А в админке с товаром поле "Вид" пустое, то страница с товаром выглядит так:
    5cfd3d3755559246685908.jpeg
    Есть пункт "Вид".
    Если пишу ваш код:
    add_action( 'woocommerce_product_meta_start', 'my_custom_action' );
    function my_custom_action() {
      if ('Коммерческий' == get_the_field('type') ) {
    echo 'Вид: ' , the_field('linoleum_vid');
    echo '<p>';
      }
    }

    То страница "ломается".
    5cfd3dc4c6bff701732700.jpeg
    Весь низ сайта исчезает.

    И если я правильно понял, мы проверяем, если есть "Коммерческий", то пункт выводится. Но, а если менеджер ошибся или решил написать что-то новое? Может быть лучше проверять поля на заполненность вообще? И есть там что-то есть, выводить. В идеале бы так.

    Но пока код проверки не работает. А как проверять на заполненность даж не знаю. Скорей всего проверять на пустое значение. Если пусто - не выводить.
  • WooCommerce - Свойства товара, как добавить полей?

    @JivoyRoman Автор вопроса
    Пычев Анатолий, о да) Сказываются) Очень устал) Надо спать уже, а задача не решена. То одно, то второе. Когда будет понятен механизм и как все реализовывать, можно спать) Чтобы я без вас делал, ума не приложу) Вы оказали мне неоценимую помощь!:)
  • WooCommerce - Свойства товара, как добавить полей?

    @JivoyRoman Автор вопроса
    выведите его в верстке простым текстом

    Представления не имею как это сделать. Можете подсказать пример? Или как в гугле искать?
  • WooCommerce - Свойства товара, как добавить полей?

    @JivoyRoman Автор вопроса
    Пычев Анатолий, Появился еще вопрос.
    Пишем вид товара:
    5cfbceb8ab77b997047147.jpeg
    На странице с товаром не указывается пункт "Вид". Просто обезличено "Коммерческий".
    5cfbcf164918f025774913.jpeg
    Посмотрел в ACF. Не увидел возможности выводить Ярлык поля вместе с данным этого поля.
    Как-то можно сделать чтобы Ярлык поля тоже указывался?
    Надо
    Вид: Коммерческий
  • WooCommerce - Свойства товара, как добавить полей?

    @JivoyRoman Автор вопроса
    Пычев Анатолий, Спасибо. Со вторым вопросом тоже разобрался. Вывод по типу товара сделал.
    С проверкой позже буду разбираться. Это я точно сейчас не осилю.
    Очень выручили!:)