Ответы пользователя по тегу WooСommerce
  • Продукт с вариантами цвета состоящий из группы товаров на woocommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Да, все возможно. Зависит от вашей фантазии. И знаний разработчика

    например - 45a4e94ec8.jpg
    Вроде как вариативный товар - внешне, но нет, формируется вообще налету, из предустановленных опций, фактически можно собрать любую конфигурацию.

    глубже - все тоже самое но комплектом, собирается автоматом из авто собираемых товаров, опять же на основании предустановок, конфигурацию каждой детали в комплекта можно поменять по желанию
    4760feb8e9.jpg

    Так, что возможно вообще все, просто ищите толкового чувака
    Ответ написан
    1 комментарий
  • Как сохранить данные пользователя woocommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    алгоритм такой
    if(empty($curent_user_name)) {
      update_user_meta( $curent_user_id, 'name',  $_POST['billing_first_name']);
    }


    вешать на хук 'woocommerce_before_checkout_process'

    Названия переменных взял из башки - подставьте правильные
    Ответ написан
    Комментировать
  • Как в Woocommerce получить все оценки товара по отдельности?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Получаете отзывы / они же комментарии
    Оценка хранится в комментарии в произвольном поле 'rating'
    $user_rate = intval( get_comment_meta( $comment->comment_ID, 'rating', true ) )

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

    на выходе получите массив в котором ключами являются величина оценки а значениями количество этих значений.
    Ответ написан
    1 комментарий
  • Как загрузить характеристики товара для дальнейшей фильтрации?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Никак, в ,базе стоит ограничение на 32 символа, с учетом префикса добавляемого WooCommerce получается вообще вроде 29 символов можно, но в woo поставили ограничение в 28
    Ответ написан
  • Как соединить два плагина Wordpress?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Подскажите как решить эту проблему.


    1) Изучить php, разобраться как работает WP и WC, залезть в код вашей сборки и исправить все. потому как никто в здравом уме не будет повторять у себя вашу конфигурацию и искать в чем же причина.

    2) Сходить на фриланс и заплатить тому кто умеет
    Ответ написан
    Комментировать
  • Плагин WP для квитанций (не счетов)?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Берете любой из плагинов счетов, они все позволяют подключать туда свой шаблон счета, верстаете свою квитанцию и подключаете своим шаблоном.

    Счет, квитанция, требование об оплате это для вас есть разница, а программе пофиг как вы это называете, для нее это все принципиально один документ
    Ответ написан
    2 комментария
  • Запрет перехода по ссылке на товар в woocommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Убрать ссылки не вариант?
    Ответ написан
  • Как добавить поле загрузки файла в атрибутах товара, в Wordpress?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Комментировать
  • Как быстро создать 99999 простых товаров?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Закидывать на прямую нельзя, можно конечно, но возможно всякое не приятное, поскольку при добавлении записи происходит много всего

    Вот так потестите сколько максимально и за один проход записей стандартными средствами можете закинуть. тут все есть кроме подтянуть миниатюру.

    <?php
    	/**
    	 * @package TAXO CRM
    	 * @author  WP_Panda
    	 * @version 0.2.1
    	 */
    
    	require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' );
    
    	$metas = [
    		'key_1' => 1,
    		'key_2' => 1,
    		'key_3' => 1,
    		'key_3' => 1
    	];
    
    	$post_data = [
    		'post_content'  => 'Контент контент контент',
    		'post_status'   => 'publish',
    		'post_author'   => 1,
    		'post_category' => [ 8, 39 ]
    	];
    
    	$start = microtime(true);
    
    	$i = 1;
    	while ( $i <= 1000 ) {
    		$post_data[ 'post_title' ] = 'Запись ' . $i;
    
    		$post_id = wp_insert_post( $post_data );
    
    		foreach ( $metas as $meta_key => $meta_val ) {
    			update_post_meta( $post_id, $meta_key, $meta_val );
    		}
    
    		$i ++;
    	}
    
    	$time = microtime(true) - $start;
    	printf( 'Время выполнения: %s мс', $time );


    У меня 1000 на слабом шареде залетела за 24 секунды.

    Соответственно с учетом того, что ваш файл в 99 раз больше позиций содержит, оборачиваете это например в аякс обработчик в котором будет указание какие строки лить, ибо 99к за раз многовато и надо будет поступательно, соответственно минут за 40-45 зальется у вас все

    Если вместо
    update_post_meta
    использовать
    add_metadata

    Будет еще быстрее
    Ответ написан
    Комментировать
  • Как настроить плагин WooCommerce Crowdfunding?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Совет такой - наймите того кто умеет
    Ответ написан
    Комментировать
  • Как вернуть нормальный цвет фотографии?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Именно так, добавьте в плагин конвертации после чего нить такого imagecreatefromjpeg или такого imagecreatefrompng

    imagepalettetotruecolor( $image );
    imagealphablending( $image, false );
    Ответ написан
    Комментировать
  • Где и что поменять в коде, чтобы предупреждения не было?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Надо угадать, что за сайт что за тема какая версия. Какие плагины и прочее?

    Обновите все до крайних версий, и все само уйдет если тема до сих пор поддерживается, если нет, то сливаете ее себе и поиском по файлам производите замену одного на другое
    Ответ написан
    Комментировать
  • Калькуляция в едином чеке двух разных категорий товаров с различной ценой доставки в WooCommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Если на пальцах, то как нибудь так, это чисто теоретически ну и соответственно бесплатная доставка должна быть включена
    function wpp_is_available_free( $is_available ) {
    		$free_products = [ 22, 55, 44, 66, 22 ];
    
    		foreach ( WC()->cart->get_cart() as $key => $item ) {
    			if ( in_array( $item[ 'product_id' ], $free_products ) ) {
    				return true;
    			}
    		}
    		
    		return $is_available;
    	}
    
    	add_filter( 'woocommerce_shipping_free_shipping_is_available', 'wpp_is_available_free', 30 );


    А вообще, ну е-мое
    Я не программист, и стандартными настройками Woocommerce не могу настроить эти функции.


    Сходите на фриланс, наймите того кто умеет.
    Ответ написан
    Комментировать
  • Как отобразить слева названия атрибутов в карточке товаров в вукоммерс?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Подскажите, пожалуйста, в чем причина?

    В том, то съехала верстка.

    Как исправить, чтобы атрибуты были выровнены по левой стороне.

    Внести соответствующие корректировки в стили
    Ответ написан
    Комментировать
  • Как ограничить количество атрибутов выводимых в каталог товара?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Я не знаю, как работает ваш woocommerce show attribute

    Но вот примерно так работает стандартная woo функция чуть подпилена для того, что бы вы могли задать сколько атрибутов надо. И сразу добавлен вывод.

    так делать конечно не стоит с точки зрения красоты кода, но насколько я понимаю, вам на это наплевать плюс все видно сразу в одном месте, при необходимости увидев как оно работает, можете сделать как нравится

    function wpp_get_product_attributes( $product = null, $count = null ) {
    
    		if ( empty( $product ) ) :
    			global $product;
    		endif;
    
    		$attributes = array_filter( $product->get_attributes(), 'wc_attributes_array_filter_visible' );
    
    		$i = 1;
    		foreach ( $attributes as $attribute ) {
    
    			if ( ! empty( (int) $count ) && (int) $count > $i ) {
    				break;
    			}
    
    			$values = [];
    
    			if ( $attribute->is_taxonomy() ) {
    				$attribute_taxonomy = $attribute->get_taxonomy_object();
    				$attribute_values   = wc_get_product_terms( $product->get_id(), $attribute->get_name(), [ 'fields' => 'all' ] );
    
    				foreach ( $attribute_values as $attribute_value ) {
    					$value_name = esc_html( $attribute_value->name );
    
    					if ( $attribute_taxonomy->attribute_public ) {
    						$values[] = '<a href="' . esc_url( get_term_link( $attribute_value->term_id, $attribute->get_name() ) ) . '" rel="tag">' . $value_name . '</a>';
    					} else {
    						$values[] = $value_name;
    					}
    				}
    			} else {
    				$values = $attribute->get_options();
    
    				foreach ( $values as &$value ) {
    					$value = make_clickable( esc_html( $value ) );
    				}
    			}
    
    			$product_attributes[ 'attribute_' . sanitize_title_with_dashes( $attribute->get_name() ) ] = [
    				'label' => wc_attribute_label( $attribute->get_name() ),
    				'value' => apply_filters( 'woocommerce_attribute', wpautop( wptexturize( implode( ', ', $values ) ) ), $attribute, $values ),
    			];
    
    			$i ++;
    		}
    
    		$product_attributes = apply_filters( 'woocommerce_display_product_attributes', $product_attributes, $product );
    
    		?>
    		<table class="woocommerce-product-attributes shop_attributes">
    			<?php foreach ( $product_attributes as $product_attribute_key => $product_attribute ) : ?>
    				<tr class="woocommerce-product-attributes-item woocommerce-product-attributes-item--<?php echo esc_attr( $product_attribute_key ); ?>">
    					<th class="woocommerce-product-attributes-item__label"><?php echo wp_kses_post( $product_attribute['label'] ); ?></th>
    					<td class="woocommerce-product-attributes-item__value"><?php echo wp_kses_post( $product_attribute['value'] ); ?></td>
    				</tr>
    			<?php endforeach; ?>
    		</table>
    
    
    		<?php
    	}
    Ответ написан
    3 комментария
  • Как сделать наценку за оплату по карте?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    100 рублей - так
    add_filter( 'woocommerce_cart_calculate_fees', 'add_my_fee', 10, 1 );
     
    function add_my_fee() {
        $gateway = WC()->session->get( 'chosen_payment_method' );
         if ( $gateway == 'paypal' ) {
          WC()->cart->add_fee( 'Наценка за метод оплаты который нам не нравится', 100 );
       }
    }


    3% получите сумму заказа, получите с нее 3 процента и вместо 100 рублей подставьте полученную сумму
    Ответ написан
    Комментировать
  • Как ограничить кол-во товаров на страницы категории в woocommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    function my_posts_per_page( $query ) {
      if ( is_admin() || ! $query->is_main_query() ) {
        return;
      }
    
      if ( is_shop() || is_product_category() || is_product_tag() ) {
        $query->set( 'posts_per_page', 9 );
      }
    
    }
    
    add_action( 'pre_get_posts', 'my_posts_per_page' );
    Ответ написан
    Комментировать
  • Почему нет левого меню и как перенести текст Woocomerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    По тому, что для архива по тегам у вас подключен сайдбар, а для атрибутов нет
    7f4a31c5dc.jpg

    разбирайтесь с настройками темы
    Ответ написан
    Комментировать
  • Как сверстать корзину на woocomerce?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    нет нету, и отличается ваша от стандартной лишь расположением блоков хуки и css вам в помощь.

    P.S. За капчу в корзине скоро будут отрубать руки
    Ответ написан
  • Возможна ли поминутная оплата с woocommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    Реализуете функционал личного счета, потом по таймеру с него списываете оплату
    Ответ написан
    2 комментария