Size: a a a

WordPress && WooCommerce

2020 August 20

AY

Anatoly Yumashev in WordPress && WooCommerce
просто картинка от v2 ))
источник

AY

Anatoly Yumashev in WordPress && WooCommerce
источник

С

Сергей in WordPress && WooCommerce
Anatoly Yumashev
просто картинка от v2 ))
хитро
источник

F

Feel-o-Sov in WordPress && WooCommerce
#вопрос

Есть задачка: находимся на странице поста и нужно ниже вывести список постов, которые имеют максимальное совпадение по тегам с текущим постом, при этом с сортировкой от наибольшего совпадения по тегам к меньшему. Запара в том, какая нагрузка будет на хостинг при 10000 постах, если у каждого поста от 20 до 100 тегов.

Есть вариант А: провести единовременное сравнение всех постов по совпадающим тегам, узнать процент совпадения и положить его в БД, скажем, в мета-поле. Например, возьмем post_1 вытащим все его теги, узнаем количество совпадающих с тегами каждого следующего поста вплоть до post_10000. Но это же оч. много обращений к БД, потому что terms надо запрашивать каждый раз к конкретному посту. Потом еще записать данные для каждого поста.

Есть вариант Б: ничего не придумывать особенного и выбирать циклом из БД посты по условию "tag__and" (то есть по полному соответствию) через WP_Query, с каждым циклом исключая один тег, чтобы сортировка была по убыванию совпадений. Тут можно ограничить, допустим 500 записями.

Да, сложновато объяснить.

Вопрос: какой вариант лучше, при условии подключения внешнего кэширования типа Redis, использования встроенного кэширования, может быть есть еще варианты, а может быть для WordPress это семечки?
источник

АВ

Антон Витальевич... in WordPress && WooCommerce
Всем привет! как сделать что бы на страницы можно было добавить блоки(например с товаром, но эти товары не отдельные страницы, а просто блоки, например картинка и текст) с пагинацией, что бы сперва выводило 50шт этих блоков, после нажатия далее выводились следующие 50 шт?
источник

z

zEvilz in WordPress && WooCommerce
Anatoly Yumashev
вся фишка в том что там чат теперь сильно круче )

- он удобен как телеграм
- в нем можно нормально реагировать на сообщение как в фейсбуке - без лишнего шума в чате
- в нем можно делать ответы к сообщениям - как в слаке
- в нем можно созваниваться и шарить экран как в скайпе

короче сборная солянка. типа плюсы из всех чатов. без минусов
короче, ненужное говно)
источник

KL

Katya Leurdo in WordPress && WooCommerce
Feel-o-Sov
#вопрос

Есть задачка: находимся на странице поста и нужно ниже вывести список постов, которые имеют максимальное совпадение по тегам с текущим постом, при этом с сортировкой от наибольшего совпадения по тегам к меньшему. Запара в том, какая нагрузка будет на хостинг при 10000 постах, если у каждого поста от 20 до 100 тегов.

Есть вариант А: провести единовременное сравнение всех постов по совпадающим тегам, узнать процент совпадения и положить его в БД, скажем, в мета-поле. Например, возьмем post_1 вытащим все его теги, узнаем количество совпадающих с тегами каждого следующего поста вплоть до post_10000. Но это же оч. много обращений к БД, потому что terms надо запрашивать каждый раз к конкретному посту. Потом еще записать данные для каждого поста.

Есть вариант Б: ничего не придумывать особенного и выбирать циклом из БД посты по условию "tag__and" (то есть по полному соответствию) через WP_Query, с каждым циклом исключая один тег, чтобы сортировка была по убыванию совпадений. Тут можно ограничить, допустим 500 записями.

Да, сложновато объяснить.

Вопрос: какой вариант лучше, при условии подключения внешнего кэширования типа Redis, использования встроенного кэширования, может быть есть еще варианты, а может быть для WordPress это семечки?
Как бы я наверное делала. Завела бы опцию в базе, где хранила бы двумерный массив id поста => массив айдишников тэгов.
источник

KL

Katya Leurdo in WordPress && WooCommerce
Обновляла бы эту опцию на save_post. При необходимости высчитывала бы расхождения между массивами, отыскивая наилучшие, при этом вы же их не 10 000 будете выводить, там наверное ну 20, вот вы выбрали лучшие 20 и остановились.
источник

KL

Katya Leurdo in WordPress && WooCommerce
Результат я бы в виде html кешировала в транзитку с id поста, ну на сутки например, даже если за сутки понапишут новых постов - ну черт с ними.
источник

KL

Katya Leurdo in WordPress && WooCommerce
Может кто-то лучше придумает.
источник

F

Feel-o-Sov in WordPress && WooCommerce
Katya Leurdo
Как бы я наверное делала. Завела бы опцию в базе, где хранила бы двумерный массив id поста => массив айдишников тэгов.
Спасибо. Хорошая мысль. Меня это навело на другую мысль, наверное, весьма странную, тем не менее.

Разные теги образуют какую-то комбинацию. Допустим (tag_id): tag_410 + tag_777 + tag_18 + tag_413. Я их сортирую в порядке ID и конкатенирую, получая число 18410413777. Его я конвертирую через md5 и храню по вашему принципу в post_id => tag_combination . Когда понадобится, то забираю все post_id со значением d3ca493d2f9c8d217f7aa163d98fd177 (это хеш числа 18410413777) через array_keys.

В этом случае мне и теги не нужны, как таковые на постоянку. Если бредово, то зовите Сергея, он гифку ловкую подберет :)
источник

KL

Katya Leurdo in WordPress && WooCommerce
Feel-o-Sov
Спасибо. Хорошая мысль. Меня это навело на другую мысль, наверное, весьма странную, тем не менее.

Разные теги образуют какую-то комбинацию. Допустим (tag_id): tag_410 + tag_777 + tag_18 + tag_413. Я их сортирую в порядке ID и конкатенирую, получая число 18410413777. Его я конвертирую через md5 и храню по вашему принципу в post_id => tag_combination . Когда понадобится, то забираю все post_id со значением d3ca493d2f9c8d217f7aa163d98fd177 (это хеш числа 18410413777) через array_keys.

В этом случае мне и теги не нужны, как таковые на постоянку. Если бредово, то зовите Сергея, он гифку ловкую подберет :)
я об этом думала, но этот план имеет крупные изъяны:
* мы получим только посты с полным совпадением, а если их нет?
* теги с айди 1 и 2 будут неотличимы от тега с айди 12
источник

F

Feel-o-Sov in WordPress && WooCommerce
Действительно, чой-то я рановато заподпрыгивал от радости.

А если так. Поскольку в конечном счете мы сравниваем хеш, то чем разделить id тегов в конкатенированном числе можно найти. Скажем 18_410_413_777. Если не произошло полного совпадения (или выдано постов менее 10), тогда регуляркой отрезаем _777, потом _413.
источник

KL

Katya Leurdo in WordPress && WooCommerce
Feel-o-Sov
Действительно, чой-то я рановато заподпрыгивал от радости.

А если так. Поскольку в конечном счете мы сравниваем хеш, то чем разделить id тегов в конкатенированном числе можно найти. Скажем 18_410_413_777. Если не произошло полного совпадения (или выдано постов менее 10), тогда регуляркой отрезаем _777, потом _413.
да, думаю так можно, если айдишники сортировать по возрастанию
ну и если в пост, допустим, добавляется тэг, мы на хуке всю строку перезаписываем
источник

F

Feel-o-Sov in WordPress && WooCommerce
Супер. Спасибо за помощь. Завтра буду пробовать.
источник

KL

Katya Leurdo in WordPress && WooCommerce
Feel-o-Sov
Супер. Спасибо за помощь. Завтра буду пробовать.
не забудь этот блок в транзитку кешировать, каждый раз пересчитывать не нужно все же
источник

KL

Katya Leurdo in WordPress && WooCommerce
Feel-o-Sov
Действительно, чой-то я рановато заподпрыгивал от радости.

А если так. Поскольку в конечном счете мы сравниваем хеш, то чем разделить id тегов в конкатенированном числе можно найти. Скажем 18_410_413_777. Если не произошло полного совпадения (или выдано постов менее 10), тогда регуляркой отрезаем _777, потом _413.
Вот еще что придумала: так как нам все равно сравнивать строки (по крайней мере после отрезания хвоста), можно попробовать использовать вот это https://www.php.net/manual/ru/function.similar-text.php и обойтись без итераций.
Но я не пробовала. Но можно попробовать.
источник

F

Feel-o-Sov in WordPress && WooCommerce
Да, интересно. Тоже буду тестировать. Спасибо, Катя.
источник

dS

dev Shayer in WordPress && WooCommerce
Всем привет братцы!

Накидайте плиз плагинов, которые блокируют сайт для определенных стран. Можно конечно и через .htaccess но интересуют плагины)
источник

N😹

Nikita 😹 in WordPress && WooCommerce
#вопрос Ребят, где найти шаблон этой страницы, сайт на woocommerce https://dverilux61.ru/product/testovyj-tovar-%E2%84%963/ Мне нужно изменить расположение блоков "в сравнение" и  "в избранное" и заменить их на картинки
источник