Задать вопрос
  • Как добавить дполнительные поля в структурированные данные товара (Schema) в WooCommerce?

    wppanda5
    @wppanda5 Куратор тега WooСommerce
    WordPress Mедведь
    add_filter('woocommerce_structured_data_product', 'add_missing_structured_data_fields', 10, 2);
    
    function add_missing_structured_data_fields($markup, $product) {
        
        $reviews = get_comments(array(
            'post_id' => $product->get_id(),
            'status' => 'approve',
            'type' => 'review'
        ));
        
        if ($reviews) {
            $markup['review'] = array();
            
            foreach ($reviews as $review) {
                $rating = get_comment_meta($review->comment_ID, 'rating', true);
                
                $markup['review'][] = array(
                    '@type' => 'Review',
                    'author' => array(
                        '@type' => 'Person',
                        'name' => get_comment_author($review->comment_ID)
                    ),
                    'datePublished' => get_comment_date('c', $review->comment_ID),
                    'description' => get_comment_text($review->comment_ID),
                    'reviewRating' => array(
                        '@type' => 'Rating',
                        'ratingValue' => $rating ? $rating : 5,
                        'bestRating' => 5,
                        'worstRating' => 1
                    )
                );
            }
        }
        
        if ($product->get_rating_count() > 0) {
            $markup['aggregateRating'] = array(
                '@type' => 'AggregateRating',
                'ratingValue' => $product->get_average_rating(),
                'reviewCount' => $product->get_review_count(),
                'bestRating' => '5',
                'worstRating' => '1'
            );
        }
        
        $markup['shippingDetails'] = array(
            '@type' => 'OfferShippingDetails',
            'shippingRate' => array(
                '@type' => 'MonetaryAmount',
                'value' => '0',
                'currency' => get_woocommerce_currency()
            ),
            'shippingDestination' => array(
                '@type' => 'DefinedRegion',
                'addressCountry' => 'RU'
            )
        );
        
        $markup['hasMerchantReturnPolicy'] = array(
            '@type' => 'MerchantReturnPolicy',
            'applicableCountry' => 'RU',
            'returnPolicyCategory' => 'https://schema.org/MerchantReturnFiniteReturnWindow',
            'merchantReturnDays' => 14,
            'returnMethod' => 'https://schema.org/ReturnByMail',
            'returnFees' => 'https://schema.org/FreeReturn'
        );
        
        return $markup;
    }
    Ответ написан
  • Как переупаковать шаблон со своими изменениями?

    @amfetamine
    берете оригинальные файлы шаблон, кладете в папку, инициализируете в ней репозиторий.
    потом на демо-сайте делаете все нужные изменения и после этого копируете файлы шаблона из демо-сайта и переписываете их поверх старых, в гите сверяете, что все ок и изменилось то, что нужно. т.к. конфиг хранится в БД, то часть этих данных тоже придется перенести в архив
    можно и без гита, но с ним удобнее
    Ответ написан
    Комментировать
  • Как сделать одно модальное окно для всех кнопок?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    $('#modal').on('click', function () {
        modal.style.display = "block";
      });


    Замените #modal на любой класс. Присваивайте этот класс любым кнопкам, всё будет работать.

    Не "сайт на Html" , а "сайт без бэкенда" ) А то все сайты так или иначе на html.
    Комбинировать JS методы (getElementById) и jQuery... ну, как минимум незачем, каша получается)
    Ответ написан
    Комментировать
  • Не закрывается модальное окно c контактной формой, в чем может быть проблема?

    leni_m
    @leni_m
    ЧупаКобрус
    $(document).ready(function() {
      var modal1 = $("#win_modal"),
          modal2 = $("#win_modal_2");
      $('#modal').on('click', function () {
        modal1.show();
      });$('#modal_2').on('click', function () {
        modal2.show();
      });
    $('.close').on('click', function () {
        modal1.hide();
        modal2.hide();
      });
    });
    Ответ написан
    Комментировать