• Вывод методов доставки на странице Оформления заказа для незарегистрированных пользователей?

    @midas34
    Зависит конечно от темплейтов темы, можно реализовать так:
    1) Шаблоны \woocommerce\checkout\form-checkout.php и \woocommerce\checkout\review-order.php копируйте в вашу текущую тему WP
    2) Открываем review-order.php и смотрим секцию tfoot, начинается с
    <?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) : ?>

    Вырезаем кусок до конца и вставляем в нужное место в шаблоне form-checkout.php
    По другому ни как! т.к. именно в review-order.php идёт проверка на включение опций Доставки в Woo, если опция включена, идёт проверка и вывод методов доставки
    Пример какой кусок вырезается, брал из стандартного шаблона Woo
    <?php if ( WC()->cart->needs_shipping() && WC()->cart->show_shipping() ) : ?>
    
    			<?php do_action( 'woocommerce_review_order_before_shipping' ); ?>
    
    			<?php wc_cart_totals_shipping_html(); ?>
    
    			<?php do_action( 'woocommerce_review_order_after_shipping' ); ?>
    
    		<?php endif; ?>
    
    		<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
    			<tr class="fee">
    				<th><?php echo esc_html( $fee->name ); ?></th>
    				<td><?php wc_cart_totals_fee_html( $fee ); ?></td>
    			</tr>
    		<?php endforeach; ?>
    
    		<?php if ( wc_tax_enabled() && ! WC()->cart->display_prices_including_tax() ) : ?>
    			<?php if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?>
    				<?php foreach ( WC()->cart->get_tax_totals() as $code => $tax ) : // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited ?>
    					<tr class="tax-rate tax-rate-<?php echo esc_attr( sanitize_title( $code ) ); ?>">
    						<th><?php echo esc_html( $tax->label ); ?></th>
    						<td><?php echo wp_kses_post( $tax->formatted_amount ); ?></td>
    					</tr>
    				<?php endforeach; ?>
    			<?php else : ?>
    				<tr class="tax-total">
    					<th><?php echo esc_html( WC()->countries->tax_or_vat() ); ?></th>
    					<td><?php wc_cart_totals_taxes_total_html(); ?></td>
    				</tr>
    			<?php endif; ?>
    		<?php endif; ?>

    3) Обрамите его в теги table и tfoot по аналогии как в шаблоне review-order.php иначе посыпется вёрстка
    Метод полностью рабочий, работает на одном проекте
    Ответ написан
    3 комментария
  • React. Как удалить созданый элемент из state родителя в дочернем элементе?

    0xD34F
    @0xD34F Куратор тега React
    const Property = ({ data, onDelete }) => (
      <div>
        #{data.id}
        <button onClick={onDelete}>Del</button>
      </div>
    );
    
    const ConstructorPage = () => {
      const [ properties, setProperties ] = useState([]);
      const delProperty = property => setProperties(properties.filter(n => n !== property));
      const addProperty = () => setProperties([
        ...properties,
        {
          id: 1 + Math.max(0, ...properties.map(n => n.id)),
        },
      ]);
      
      return (
        <> 
          <button onClick={addProperty}>Add</button>
          {properties.map(n => (
            <Property
              key={n.id}
              data={n}
              onDelete={() => delProperty(n)}
            />
          ))}
        </>
      );
    };
    Ответ написан
    Комментировать
  • Удаленная блокировка Android смартфонов и ноутбуков Windows в случае санкциий со стороны сша?

    @Drno
    Во первых никто не будет заниматься подобной пургой
    Во вторых - 100% есть бэкдоры)
    Ответ написан
    Комментировать