icopydoc
Ответы в темах
-
Форум: WooCommerce
Тема: В логах нотисДа) Это мой плагин. Потому и парюсь.
Я сначала думал заменить на
$result_yml_name = get_the_title($postID);
и проблема как бы решена т.к в 90% случаев значения будут совпадать. НО! Если у юзера какие-то фильтры для названий товаров от других плагинов установлены, нужные ему. Тогда это не поможет.
Т.е нужно использовать именно $product;Можно, конечно, и так оставить ибо работает же. Но все же речь о PRO версии. Да и вообще. Не гоже нотисы в плагине оставлять. Должно все как часы работать.
Мне не совсем понятна сама природа нотиса. Линк, который в логах вукомерц дает — ведет на пустой раздел справки.
И главное. Работает же.
Форум: WooCommerce
Тема: Фильтр по товарам дешевле/дороже чемЗатем, что мне это не для виджета нужно вовсе.
Это для моего плагина, который формирует фид экспорта на другие сайты по определенным условиям. Условий очень много.
Собственно вопрос прежний. Что в приведенном мною примере, в запросе не так? Почему попадают только простые товары, а вариативные пропускаются?Форум: Обратная связь
Тема: Как быть, если на 90% своровали плагин?Да, да, да. Модераторы
plugins@wordpress.org
во всем разобрались. Спасибо Вам всем за помощь!Форум: Обратная связь
Тема: Как быть, если на 90% своровали плагин?Yui, спасибо за совет — написал. Буду ждать, что ответят.
Форум: WooCommerce
Тема: Получить ID товара зная ID вариацииМожет быть, правильнее и проще будет идти иным путем, вместо собирания массива ID Вариаций?
Мне клиентом вообще предоставлен экселевский файл. В нем id вариаций. Исходные данные мне не изменить. Имею что имею. Там более 700 айдишников. Товаров на сайте порядка 50 000.
Т.е мне надо примерно в 500 (т.к есть некоторые вариации входят в один и тотже товар) товаров внести правки. Выделить из 50 000 товаров 500 нужных и прописать этим товарам необходимый атрибут через $product->set_attributes()В итоге сам написал решение. Возможно, вы посоветуете, как улучшить этот код:
Результат функции возвращает ID вариации по-умолчанию.function default_var_id($product) { foreach($product->get_available_variations() as $pav) { $def = true; $offer_id = ''; $cur_var_id = ''; foreach($product->get_variation_default_attributes() as $defkey => $defval) { if ($pav['attributes']['attribute_'.$defkey] != $defval) { $def = false; continue; } $cur_var_id = $pav["variation_id"]; } if ($def) { $offer_id = $cur_var_id; return $offer_id; } } return $offer_id; }
1. Нет в форму не передается. А как это сделать? через какой хук? И нужно ли?
2. Соответственно тоже нет.В моем случае кастомный нонсе попадает только на страницу с редактированием поста.
Но моя задача чтобы функция отрабатывала и при обычном сохранении и при быстром.Да. Да срабатывает. Я уже выше написал свой косяк. У меня вопрос про noncename. Как мне проверяться то? Или не нужно?
Я чутка при логировании перемудрил.
В моем случае проблема вот в чем былаfunction yfym_save_post_product_function ($post_id, $post, $update) { if (!wp_verify_nonce($_POST['noncename'], plugin_basename(__FILE__))) {return;} А ЛОГИРОВАЛ ЛИШЬ ТУТ. }
Но у меня вопрос. Получается что nonce вообще не юзать что ли в этом хуке?
Впшных проверок достаточно для безопасности?
Форум: WooCommerce
Тема: Подскажите названия фильтра WoocommerceКастомный шаблон не катит по причине того, что это будет плагин и магазины с совершенно разными шаблонами.
Полностью у меня конструкция такая:
if ((validate_file($filename) === 0)&&(file_exists($filename))) { // файл есть if (!$handle = fopen($filename, $cc)) { error_log('Не могу открыть файл. line 1592', 0); yfym_errors_log('Не могу открыть файл. line 1593'); } if (fwrite($handle, $result_yml) === FALSE) { error_log('Не могу произвести запись в файл. line 1596', 0); yfym_errors_log('Не могу произвести запись в файл. line 1597'); } else { error_log('Ура! Записали.. line 1599', 0); return true; } fclose($handle); } else { // файла еще нет .... код отвечающий за первое создание файла }
* $cc = ‘w+’ или ‘a’; в зависимости от ситуации
Я вот думаю, если я выкину нафиг часть условия (validate_file($filename) === 0)
не вылезут ли глюки у других? все такие плагин установлен сейчас на нескольких сотнях магазинов и не аукнется ли «настройка» под один частный случай глюками?Как лучше поступить в моей ситуации?
- Ответ изменён 5 лет, 10 месяцев назад пользователем icopydoc.
на чем именно false — validate_file или file_exists?
на validate_file
Судя по всему да — либо windows хостинг, либо вообще что-то свое.
Т.е это результат работы wp_upload_bits (то что лежит в $upload[‘file’]) после создания файла.
Данные по хостингу уточняю у клиента.Проверка DNS-записей домена — утилита dig дала результат
95.165.128.148
95-165-128-148.static.spd-mgts.ru
Т.е. там явно хостинг какой-то необычный. По крайней мере по урл я хостинг не смог определить.Вопрос в другом — что блин с этим делать?
Форум: Проблемы и решения
Тема: robots.txt по 2 протоколамФлектор, спасибо. Сделал вот так. Все пашет.
# BEGIN robots.txt to both addresses <ifModule mod_expires.c> RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} !robots.txt RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> # END robots.txt to both addresses # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress <ifModule mod_expires.c> ExpiresActive On # Cache Images ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" # Cache other content types (Flash, CSS, JS, HTML, XML) ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" ExpiresByType text/css "access plus 604800 seconds" ExpiresByType text/javascript "access plus 2592000 seconds" ExpiresByType application/javascript "access plus 2592000 seconds" ExpiresByType application/x-javascript "access plus 2592000 seconds" ExpiresByType text/html "access plus 600 seconds" ExpiresByType application/xhtml+xml "access plus 600 seconds" </ifModule>
На Ваш взгляд ничего лишнего или неправильного сейчас у меня в коде нет? Или может быть вы бы что-то еще добавили…
Форум: Проблемы и решения
Тема: Карты гугл. ЗапуталсяЯ имел ввиду, что есть шорткод, результат которого — указанный мною див.
Я уже решил проблему сам…