Вкладки WooCommerce — изменение, добавление и удаление

(14 оценок, среднее: 4,14 из 5)
Загрузка...

 

WooCommerce создает вкладки по следующему принципу:

 

$tabs['description'] = array(
   'title'    => __( 'Description', 'woocommerce' ),
   'priority' => 10,
   'callback' => 'woocommerce_product_description_tab'
);

 

На примере для вкладки "описание" задается заголовок вкладки, приоритет, определяющий положение вкладок и функция, выводящая содержимое вкладок. Подробнее...

Как убрать количество товара в категории WooCommerce

(14 оценок, среднее: 4,86 из 5)
Загрузка...

При выводе категорий на страницах магазина WooCommerce по умолчанию в скобках указывает количество товара в данной категории. Чтобы убрать его, нужно добавить в functions.php вашей темы следующий фильтр:
//убираем количество в категориях
add_filter('woocommerce_subcategory_count_html','remove_count');

function remove_count(){
 $html='';
 return $html;
}

Оптимизация загрузки сайтов WordPress. Установка заголовков Expires

(2 оценок, среднее: 5,00 из 5)
Загрузка...

Http заголовок Expires сообщает браузеру, что после того, как он загрузил необходимый файл, ему не нужно загружать повторно этот файл на протяжении определенного промежутка времени. Использование заголовка expires позволяет сократить нагрузку на сервер, а также увеличить скорость загрузки страниц вашего сайта. Также это решает проблему "Используйте кеш браузера" в сервисе проверки скорости загрузки страниц PageSpeed Insights (кроме сторонних файлов, например, это не решит проблему со скриптами Google analytics или Яндекс метрики). Настроить заголовки Expires на сайте под управлением WordPress можно, добавив в файл .htaccess следующие директивы:
# BEGIN EXPIRES 
<IfModule mod_expires.c>
ExpiresActive On 
ExpiresDefault "access plus 10 days"
ExpiresByType text/css "access plus 1 week" 
ExpiresByType text/plain "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month" 
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-icon "access plus 1 year" 
</IfModule> 
# END EXPIRES

Ajax форма для WordPress

(10 оценок, среднее: 5,00 из 5)
Загрузка...

Использование ajax при отправке формы позволяет отправить форму без перезагрузки страницы. В WordPress это достаточно просто реализовать. Допустим, у нас есть следующая форма заказа звонка:

<form class="form-container recall-form-validate">
    <div class="form-title"><h2>Заказать звонок</h2></div>
    <div class="form-title">Введите Ваше имя:</div>
    <input class="form-field form-name" type="text"  name="name" /><br />
    <div class="form-title">Введите номер телефона:</div>
    <input class="form-field form-tel" type="text"  name="tel" /><br />
    <div id="submit-ajax" class="submit-container">
        <input class="submit-button" type="submit" value="Отправить"/>
    </div>
</form>

Теперь напишем скрипт, обрабатывающий событие нажатия на кнопку "Отправить": Подробнее...

Как сделать скриншот веб-страницы целиком.

(2 оценок, среднее: 5,00 из 5)
Загрузка...

Иногда нужно сделать скриншот страницы полностью, во всю высоту, без потери качества, так, как его видит сам дизайнер.

Наиболее простой способ: открываем в замечательном браузере Mozilla Firefox веб-страницу, нажимаем Shift+F2, - снизу появится строка GCLI консоли.
Далее нужно ввести screenshot filename.png --fullpage

Ищем готовый скриншот в папке загрузок.

Примечания:
В папку загрузок можно попасть, зажав ctrl+j. Программа может "подумать" несколько секунд при рендеринге скриншота.
При наборе можно увидеть подсказки. Чтобы реализовать подсказку, нужно нажать TAB.
Для просмотра других опций введите help screenshot, для общей справки команд - просто help.
Расширение  .png  без вариантов, затем можно преобразовать тем же XnView, желательно в JPEG.
Протестировано в Firefox 47.0.
Есть в сети множество других программ и плагинов для этих целей, но их работоспособность сомнительна.

Экспорт в excel из Laravel

(13 оценок, среднее: 4,08 из 5)
Загрузка...

Для экспорта в excel из Laravel будем использовать пакет maatwebsite/excel , который использует для своей работы PHPExcel.

Подключение пакета

Для установки пакета maatwebsite/excel необходимо запустить команду:

composer require maatwebsite/excel

Затем открываем файл app/config/app.php, находим в нем  массив 'providers'  и добавляем туда новый сервис-провайдер:

'Maatwebsite\Excel\ExcelServiceProvider',

В этом же файле есть массив 'aliases' - в нем хранятся псевдонимы для фасадов. Добавим в этот массив псевдоним для фасада Excel:

'Excel' => 'Maatwebsite\Excel\Facades\Excel',

Далее необходимо обновить конфигурацию Laravel с помощью команды:

php artisan vendor:publish

Теперь, прописав в контроллере  use Excel; мы можем использовать фасад Excel для своих целей. Подробнее...

Изменение текста «выбрать опции» для вариативного товара Woocommerce

(11 оценок, среднее: 5,00 из 5)
Загрузка...

Для изменения текста кнопки выбрать опции" для вариативного товара можно воспользоваться фильтром, например, если мы хотим поменять текст "выбрать опции" на "выбрать цвет", код будет следующим:

 

add_filter('woocommerce_product_add_to_cart_text','my_woocommerce_variable_text_button',10,2);
 function my_woocommerce_variable_text_button($text,$product){

if($product->product_type == 'variable'){
 $text = 'Выбрать цвет';
 }

return $text;
 }

 

В этой же функции можно поменять текст кнопки "в корзину" для простого товара, добавив  проверку, является ли товар простым:

 

 if($product->product_type == 'simple'){
 $text = 'Заказать';
 }

 

Осталось поменять текст "выбрать опцию" на странице вариативного товара:

 

add_filter('woocommerce_dropdown_variation_attribute_options_args','my_variation_attribute_options_args',10,1);
function my_variation_attribute_options_args($args){
 $args['show_option_none'] = 'Выбрать цвет';
 return $args;
}

 

Этот код необходимо поместить в файл functions.php вашей темы.

Две цены в разных валютах для товара Woocommerce

(5 оценок, среднее: 5,00 из 5)
Загрузка...

Первая цена будет вводиться в админке при создании товара, вторую цену будем рассчитывать по курсу НБРБ, который возьмем с сайта НБРБ. Подобный сервис есть и у  Банка России . Для этого скачаем и обработаем xml файл курсов валют. Для того, чтобы исключить ситуацию, когда сайт по каким-либо причинам недоступен, и файл не будет получен, запишем курс доллара в базу с помощью функции add_option(). Затем, уже при выводе, будем брать значения из базы, а не из файла, которого может не существовать - таким образом исключаются возможные ошибки Подробнее...

Добавление краткого описания в каталоге товаров Woocommerce

(10 оценок, среднее: 4,20 из 5)
Загрузка...

 

Способ 1.

 

Создаем функцию , привязанную к событию woocommerce_after_shop_loop_item_title:

add_action( 'woocommerce_after_shop_loop_item_title', 'add_short_description', 9 );
function add_short_description() {
	  echo  the_excerpt().'<br />';
}

 

Если нужно, чтобы краткое описание обрезалось, то код будет выглядеть так:


add_action( 'woocommerce_after_shop_loop_item_title', 'add_short_description', 9 );
function add_short_description() {
    global $post;
    $text = $post->post_excerpt;
    $maxchar = 100; //максимальное кол-во символов
    
    $text = preg_replace ('~\[[^\]]+\]~', '', $text ); //убираем шорткоды
    
    //удаляем все html символы
    $text = strip_tags( $text);
    
    // Обрезаем
    if ( mb_strlen( $text ) > $maxchar ){
                $text = mb_substr( $text, 0, $maxchar );
                $text = preg_replace('@(.*)\s[^\s]*$@s', '\\1 ...', $text );
            }
    echo $text;
}

 

Способ 2.

Для выполнения этой задачи необходимо скопировать из папки плагина woocommerce/templates файл content-product.php, который отвечает за вывод товаров в цикле Woocommerce, и  поместить его в папку woocommerce ( если нет - создать) своей темы.  Это нужно для того, чтобы при обновлении плагина сохранить ваши изменения. Поэтому ни в коем случае не стоит редактировать файлы плагина. Подробнее...

Удаление атрибутов width и heigth у миниатюр WordPress

(5 оценок, среднее: 4,20 из 5)
Загрузка...

По умолчанию функция   the_post_thumbnail() выводит html миниатюры поста в следующем виде:

<img width="400" height="500" src="" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" 
alt="" srcset="" >

В некоторых случаях необходимо убрать атрибуты  width и  height выводимого изображения. Для этого можно использовать фильтр функции wp_get_attachment_image_src(), на основе которой работает функция вывода миниатюр:


add_filter('wp_get_attachment_image_src','delete_width_height', 100, 4);

function delete_width_height($image, $attachment_id, $size, $icon){

    $image[1] = '';
    $image[2] = '';
    return $image;
}

Данный код необходимо поместить в файл functions.php вашей темы, и результат, возвращаемый функцией the_post_thumbnail(), примет вид:

<img src="" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" 
alt="" srcset="" >
Страница 6 из 7« Первая...34567