Ответы в темах

Просмотр 11 ответов — с 16 по 26 (всего 26)
  • Адрес terra-sportpit.com.ua
    Тема «базовая» — electro, другой нет

    Стоит два разряда

    post_type = ‘product_variation’

    Хорошо, а как знать к какому ID привязана заданная вариация ?
    У меня есть post_id заданной вариации, и мне нужно обновить всю информацию не только о цене/количестве/наличии, но и состояние карточки товара, к которой заданная вариация прикреплена.

    Нет диапазона цен.

    Ссылка на картинку. На скрине выделен диапазон, который не обновляется при обновлении цен вариаций этого товара, так же не обновляется состояние «В наличии», если всем вариациям задать состояние outofstock. Значит где то ещё хранится связанная информация.

    Предполагаю, то что Вы хотите сделать выглядит примерно так:

    Да, но тогда вопрос: что мне писать в require моего PHP-кода парсера прайса ? =)

    $variation = new WC_Product_Variation( $variation_id );

    И что за $variation_id ? Который post_id в таблице wp_postmeta ?

    P. S. Использование API WordPress затруднительно виду того, что парсер работает на удалённом сервере, и посылает запросы к БД на хост, где расположен сайт; причина — парсер обрабатывает XML-файл размром в 10 мегабайт, в итоге парсинг и формирование запросов по времени занимают примерно 200 секунд, а хостер этого не любит, говорит мол у тебя есть только 60 секунд на выполнение скрипта (поэтому выполнение скрипта было перенесено с хостинга на удалённой VPS).

    Реляция по wp_posts.ID = wp_postmeta.post_id

    Хорошо, эту связь я знаю … Я наверное вопрос неправильно поставил:

    где находится взаимосвязь отдельных требуемых постов в таблицах wp_posts и wp_postmeta

    По каким параметрам мне следует понимать, что wp_postmeta.post_id привязан к вариативному товару, и где данные состояния наличия и диапазона цены того товара, к которому привязан этот post_id ?
    Формулировка вопроса натолкнула меня на кое что проверить …

    поменяв напрямую значение этих данных Вы поломаете работу плагина

    Наверное именно поэтому нужно понимать, что где и на что делается замена, и/или выполнять трассировку данных из разряда «что было что стало», исследовать всевозможные наборы данных в конкретных случаях. С вами же я общаюсь в целях найти и упростить такую работу =). Плагины же тоже пишут, и не только разработчики WordPress, а значит кто то точно знает всю структуру (опять же, в конкретном заданном случае).

    Проверив, он записывает/запоминает это значение и далее что-то с ним делает

    Хорошо, куда запоминает/записывает ? Не уж то ли в базу данных ? =)
    Ещё мне рассказывали, что файловое хранение каких либо данных плохо воспринимается всерьёз, потому что при мало-мальски сложной структуре такой подход будет показывать тормоза, и вряд ли кто либо будет пользоваться тем, что тормозит; а значит — наши плагины хранят инфу не в каких то там своих файлах, а в базе.

    В конце концов, мне всего лишь нужно обновить циферки, и найти что там за «состояния» карточек товара аля в наличии / нет в наличии, что бы имитировать эти данные.

    связи, суррогатные ключи, сериализованные данные и много чего ещё. + Многое зависит от применяемых плагинов и тем.

    Вот это я и хотел здесь найти: оно же как то работает, а значит имитировать всё необходимое — возможно. И это действительно

    Объективные причины

    того что в базу лазить таки не «нельзя» а нежелательно, но никто не запрещает. Но речь естественно не о терминологии.
    Зато в wp_postmeta значения атрибутов хранятся просто текстом, при том что атрибуты я заносил (через морду) как правила, у которых по идее должны быть связные ID с другими записями и/или таблицами.

    Узнайте что нельзя лазить в базу напрямую

    Ну да, мне так много кто говорит, и не только по WordPress, только легче от этого не становится, всё равно так или иначе приходится лазить то туда то сюда … =)
    Без приколов, мне попадаются такие задачи, при которых мне иногда просто приходится чуть ли не самому разбираться, вплоть до необходимости написать контроллер базы, который отслеживает те или иные изменения при работе с мордой, ну или просто чёрный ящик.

    Ладно, это всё лирика; просто потому что все говорят «нельзя» без объективных причин для запрета, в итоге никто ничего и не знает =)

    При наличии полного перевода, в админке модуль был на английском. Уже на сайте модуль оказался переведённым, но в админке всё равно остался на английсокм.

    Я так и не понял как тут делать цитату (особо и не вникал), поэтому …
    На счёт обновления плагинов: во первых контент-манагеру за такое яйца/волосы вырвут, независимо от результата обновления, потому что придёт сайтодел и скажет что «не надо так».
    На счёт «плохого подхода» и обновления: зачем что то обновлять, если всё что надо работает, а всё что не работает можно доделать самому ? Это проще чем потом разгребать результаты обновления. И всё равно проще чем написать плагин самому.

    Просто те кто пишет плагины видать не общаются с теми, кто эти плагины потом юзает; отсюда таким как я и приходится ковырять всё это дело; и нет — я ничего не имею против плагинов, просто оказываюсь посередине между этими двумя категориями людей.
    И не бывает так что бы какой либо плагин работал ровно так как этого требует заказчик, поэтому как не крути, приходится лезть в исходники.

    Например заказчик попросил сделать что бы были стикеры «новинка» «хит продаж» и прочие маркетинговые штуки, и главное — что бы это работало в связке со штатным фильтром товаров.
    Для фильтра нужно использовать атрибуты, а те плагины которые я видел на эти атрибуты плевать хотели, им подавай стандартный набор надписей «из коробки» плагина.
    А ещё, те плагины которые я видел попросту не работают. Сильно в эту задачу я не вникал, пока настроил только атрибуты (что бы в фильтре работало), а на картинке товара ничего не показывается.

    • Ответ изменён 5 лет, 5 месяцев назад пользователем user228007.
    • Ответ изменён 5 лет, 5 месяцев назад пользователем user228007.
    • Ответ изменён 5 лет, 5 месяцев назад пользователем user228007.

    На счёт велосипедов не скажите …
    Одно дело когда есть полная документация о том что от куда и куда (так на OpenCart например почти везде можно найти информацию), и совсем другое дело когда в ход идут костыли, просто потому что даже на английском форуме сказано что то вроде «Information is not available and will not be».
    P. S. На OpenCart я часто правлю код плагинов просто потому что есть информация о том, что где и как править, что сработает, а что нет. На WP я часто вынужден искать методом тыка и парсинга файлов по содержимому.

    Это и есть то решение, на которое я хочу натолкнуть заказчика.
    Но при предыдущем сайтоделе заказчик приобрёл API-доступ к калькулятору новой почты. Это при том что калькулятор тоже не работает …

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

Просмотр 11 ответов — с 16 по 26 (всего 26)