Финты WordPress
777 subscribers
219 photos
12 videos
6 files
341 links
Авторский канал о WordPress. Новости, обзоры, код, решения и многое другое

Канал на YouTube https://www.youtube.com/@wpruse

Контакт админа @artikus13

6522ewm3kti85ia9
Download Telegram
#snippets #wp #wordpress

Как разрешить загрузку в библиотеку мультимедиа нестандартных типов файлов

Сниппет подключает сразу все форматы и документов и текстовых файлов. Если нужен только один формат, то можно так сделать

/**
* Разрешаем загрузку SVG файлов
*
* @param $mime_types
*
* @return mixed
*
* @see https://wp-kama.ru/hook/upload_mimes
*/
function add_svg_type( $mime_types ) {

$mime_types['svg'] = 'image/svg+xml';

return $mime_types;
}

add_filter( 'upload_mimes', 'add_svg_type' );



Исходник
https://gist.github.com/artikus11/c9351f7fdf9f378137cb35e1c4787b4b

Документация
https://wp-kama.ru/hook/upload_mimes

Как добавлять код:
- в файл functions.php темы/дочерней темы
- через пустой плагин
- специальным плагином, например Code Snippets
#snippets #wp #wordpress #woocommerce #translations

Как изменить слово Подытог в WooCommerce

По поводу слова "Подытог" уже столько копий было сломано, что вроде как и смысла нет обсуждать. Формально - слово правильное, и его часто бухгалтера используют, но это формально. Если произнести его вслух, то будет резать. Потому его часто меняют.

Я сделал десятки магазинов и на 90% из них пришлось менять это слово. Есть пара способов изменить любое слово, не влезая в верстку, используя переводы:
- использовать плагин Loco Translate
- использовать фильтр gettext

Сегодня сниппет, как раз с использованием фильтра

Исходник
https://gist.github.com/artikus11/d51f134c855bf960af442db0d9e82a1b

Видео в тему
https://www.youtube.com/watch?v=Szz2gTSGGJg

Как добавлять код:
- в файл functions.php темы/дочерней темы
- через пустой плагин
- специальным плагином, например Code Snippets
#snippets #wp #wordpress

Функция подсчет времени статьи get_time_for_read()

Часто используемая, полезная функция, особенно в инфопроектах.

Внимание! В этой функции используется отдельная функция склонения слов. Если вы не будете использовать склонения слов, то не забудьте ее убрать.

Исходник
https://gist.github.com/artikus11/b9b8a512fa9219a4fd6d49ef1f2f667e

Как добавлять код:
- в файл functions.php темы/дочерней темы
- через пустой плагин
- специальным плагином, например Code Snippets
Как вывести ID любых постов и таксономий в админке в отдельной колонке

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

Вот чтобы не по ссылка не тыкать, нарыл прикольный плагин

Называется Show IDs https://wordpress.org/plugins/wpsite-show-ids/

Хотя если только для постов это требуется, то можно и через хуки сделать. Примерно так https://gist.github.com/artikus11/ec7cdb85a8a5585627d62f3742bf2ddb

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

А еще можно делать колонки сортируемыми, об это читайте у Камы https://wp-kama.ru/id_995/dopolnitelnyie-sortiruemyie-kolonki-u-postov-v-adminke.html
#snippet #wp #wpallimport #wpai #woocommerce

Не разрешено создавать атрибуты длиннее 28-ми символов

Есть такая проблема, особенно с WooCommerce, да еще при импорте товаров, при особо длинных заголовках атрибутов, выбивается ошибку, что больше 28-ми символов низя.

Это проблема не только WooCommerce, но и в целом всего ядра. Так как атрибуты создаются как таксономии. А для таксономий, ярлык длиннее 32-х символов запрещен.

Нагуглил оригинальное решение проблемы для WooCommerce: через фильтр автоматически режем ярлыки на нужную длину.

add_filter(
'sanitize_taxonomy_name',
function ( $urldecode ) {

return mb_substr( $urldecode, 0, 26, 'utf-8' );
},
10,
2
);


Внимание! Код не мой, толком не тестировал, так что использовать надо с осторожностью!

Источник
https://gist.github.com/artikus11/97b59ce00cf5d875cf8b9519d9e34c72

Как добавлять код:
- в файл functions.php темы/дочерней темы
- через пустой плагин
- специальным плагином, например Code Snippets
Удаление картинок при удалении записи

Есть такая проблема: при удалении поста, картинки от него не удаляются.
Особенно актуальна сия проблема в магазинах.

Решается очень просто. Да-да, есть для этого плагин)

Называется Autoremove Attachments. Удаляет прикрепленные к посту картинки.

Внимание! Картинки удаляются только при удалении поста из корзины. Так что, если у вас корзина отключена, то удаляться будет все сразу.
Хотел записать обзор темы Wescle, но по техническим причинам, не получилось. Будет на следующей неделе.

Записал полезный видос, как массово редактировать товары

https://www.youtube.com/watch?v=5mBjEYtRMPQ
О чё нарыл! Родольфо занялся блоками от WooCommerce. Показывает как можно изменять вывод данных

https://www.businessbloomer.com/woocommerce-blocks-hide-images-etc-from-product-grid-block/

Но вообще, мне кажется с блоками они перемудрили или недоделали, так как подобраться к элементам для изменения - это целый процесс...
Кто молодец? Я молодец!) Решил задачку по добавлению нестандартных атрибутов при импорте
Хотите знать как это сделать?
Final Results
91%
Конечно! Давай колись!
9%
Да ну нах, неинтересно
#snippet #wp #wpallimport #wpai #woocommerce

Решение по этому опросу

Задачка: завести 30к товаров. Товары простые, но атрибуты сидят одной строкой. Требуется распарсить строку атрибутов и завести их как глобальные при импорте товаров.

Алгоритм такой получился:
1. Парсим строку атрибутов и собираем данные в массив
2. Если еще нет, то создаем из полученного массив таксономию (глобальные атрибуты - это таксономии), иначе в существующую таксу добавляем данные
3. Собираем для каждого товара массив атрибутов
4. Добавляем полученный массив в товар

Код подвешивается на хук pmxi_saved_post. Полный код смотрим в исходнике

https://gist.github.com/artikus11/b90290147f3ac5df9a2fc6e1bd3b1717

Примечание: так как приходиться для каждого товара парсить атрибуты, то все это довольно медленно происходит, ставьте при количество проходов в настройках поменьше. 10 ставил, вроде норм.

Как добавлять код:
- в файл functions.php темы/дочерней темы
- через пустой плагин
- специальным плагином, например Code Snippets
Постоянно тусуюсь на сайте wp-kama.ru. Это понятно, что сайт архиважный и архиполезный для тех кто в коде.

Но тут наткнулся у Камы на шикарный раздел Заметки. Это такой сборник сниппетов и решений для разных случаев.

Очень рекомендую https://wp-kama.ru/notes
Слыхали про такой плагин Акселера­тор
для WordPress ? Плагин позволяет разогнать сайт в педжспидине до сотки, и вроде как это прям честная сотка.
Есть идея провести стрим с автором, как вам?
Final Results
84%
Конечно надо
16%
Да ну нах, чушь все это