• Какие есть сервисы email рассылок без подтверждения получателя?

    @anton9999
    smartboxpro.ru пользуюсь этим сервисом. тариф профи. только вот постоянно рассылка виснит и 50 тыс писем в сутки никак не получается отправить. у меня 80 тыс писем за 3 дня отправляется.

    rumailer.ru/tarify и второй вариант, есть бесплатный тариф
    и еще https://www.megainbox.com/

    МАЙЛчимп и прочие сервисы только с подтвержденной базой работают
    Ответ написан
  • Как задать определенный размер миниатюр каталога товаров?

    @anton9999 Автор вопроса
    я нашел такой код, но не понимаю как его переделать, чтобы он применялся для конкретных категорий товара или подкатегорий. И где тут размер миниатюры задается.
    add_action( 'woocommerce_before_subcategory_title', 'woocommerce_subcategory_thumbnail_hook', 2 );
     
     function woocommerce_subcategory_thumbnail_hook( $category ) {
     $small_thumbnail_size   = apply_filters( 'woocommerce_subcategory_thumbnail', 'full' );
     $dimensions     = wc_get_image_size( $small_thumbnail_size );
     $thumbnail_id   = get_woocommerce_term_meta( $category->term_id, 'thumbnail_id', true );
     
     if ( $thumbnail_id ) {
     $image        = wp_get_attachment_image_src( $thumbnail_id, $small_thumbnail_size );
     $image        = $image[0];
     $image_srcset = function_exists( 'wp_get_attachment_image_srcset' ) ? wp_get_attachment_image_srcset( $thumbnail_id, $small_thumbnail_size ) : false;
     $image_sizes  = function_exists( 'wp_get_attachment_image_sizes' ) ? wp_get_attachment_image_sizes( $thumbnail_id, $small_thumbnail_size ) : false;
     } else {
     $image        = wc_placeholder_img_src();
     $image_srcset = $image_sizes = false;
     }
     
     if ( $image ) {
     // Prevent esc_url from breaking spaces in urls for image embeds.
     // Ref: https://core.trac.wordpress.org/ticket/23605.
     $image = str_replace( ' ', '%20', $image );
     
     // Add responsive image markup if available.
     if ( $image_srcset && $image_sizes ) {
     echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width'] ) . '" height="' . esc_attr( $dimensions['height'] ) . '" srcset="' . esc_attr( $image_srcset ) . '" sizes="' . esc_attr( $image_sizes ) . '" />';
     } else {
     echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width'] ) . '" height="' . esc_attr( $dimensions['height'] ) . '" />';
     }
     }
     }
    Ответ написан
    Комментировать
  • Как вывести дополнительное поле в фронтэнде товара?

    @anton9999 Автор вопроса
    add_action( 'woocommerce_product_options_general_product_data', 'art_woo_add_custom_fields' );
    function art_woo_add_custom_fields() {
    	global $product, $post;
    	echo '<div class="options_group">';// Группировка полей 
    	// текстовое поле
    woocommerce_wp_text_input( array(
       'id'                => '_text_field',
       'label'             => __( 'Текстовое поле', 'woocommerce' ),
       'placeholder'       => 'Текстовое поле',
       'desc_tip'          => 'true',
       'custom_attributes' => array( 'required' => 'required' ),
       'description'       => __( 'Введите здесь значение поля', 'woocommerce' ),
    ) );
    	echo '</div>';
    }
    add_action( 'woocommerce_process_product_meta', 'art_woo_custom_fields_save', 10 );
    function art_woo_custom_fields_save( $post_id ) {
       // Сохранение текстового поля
       $woocommerce_text_field = $_POST['_text_field'];
       if ( !empty($woocommerce_text_field) ) {
       update_post_meta( $post_id, '_text_field', esc_attr( $woocommerce_text_field ) );
    }
    }
    add_action( 'woocommerce_product_meta_start', 'art_get_text_field_before_add_card' );
    function art_get_text_field_before_add_card() {
    	global $post;
    echo get_post_meta( $post->ID, '_text_field', true );
    }


    такой код выводит дополнительное поле мое но в общем классе class="product_meta". как в отдельный класс обернуть?
    Ответ написан
    Комментировать