1 |
$wc_product->get_catalog_visibility() |
С помощью этого кода можно проверить, выбрано ли скрывать товар в каталоге и поиске
Прежде всего этот сайт — моя записная книжка, в которой собрана информация, часто используемая при создании сайтов. Здесь я оставляю заметки с кодом для себя.Может быть что-то, будет полезно и другим разработчикам.
1 |
$wc_product->get_catalog_visibility() |
С помощью этого кода можно проверить, выбрано ли скрывать товар в каталоге и поиске
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
$i=0; $array_id_old_feed = []; $array_id_new_feed = []; $xml = simplexml_load_file('VBHy6J9p0cSJyNpgzftWAyeemploypsg.xml'); $p_cnt = count($xml->channel->item); echo 'Count for item old feed: '.$p_cnt.'<br/>'; foreach ($xml->channel->item as $value){ $i++; //echo $i.' '.$value->id . '<br/>'; array_push($array_id_old_feed ,strval($value->id)); } $xml = simplexml_load_file('E-Commerce_Product_List.xml'); $p_cnt = count($xml->channel->item); echo 'Count for item new feed: '.$p_cnt.'<br/>'; $i=0; foreach ($xml->channel->item as $value){ $i++; // echo $i.' '.$value->id . '<br/>'; array_push($array_id_new_feed ,strval($value->id)); } $i=0; echo '<br/>Search differnce id between old and new<br/>'; foreach($array_id_old_feed as $array_id_old_feed_item){ //var_dump(in_array($array_id_old_feed_item, $array_id_new_feed)); if(!in_array($array_id_old_feed_item, $array_id_new_feed)){ $i++; echo '<br/>'.$i.' '.$array_id_old_feed_item; } } echo '<br/>'.$i.' differences finded between old and new<br/>'; echo '<br/>Search differnce id between new and old<br/>'; $i=0; foreach($array_id_new_feed as $array_id_new_feed_item){ //var_dump(!in_array($array_id_new_feed_item, $array_id_old_feed)); if(!in_array($array_id_new_feed_item, $array_id_old_feed)){ $i++; echo '<br/>'.$i.' '.$array_id_new_feed_item; } } echo '<br/>'.$i.' differences finded between new and old<br/>'; |
Чтобы изменить файл конфигурации сервера:
— Нужно зайти на сервер под суперпользователем
— Затем выполнить sudo su и стать root пользователем
— Выполнить команду vi /etc/nginx/site/site.conf
— Внизу будет зеленым сообщение, что данный файл уже используется нажать edit anymore
— Нажать Shift + ‘i’ для активации режима вставки
— Команда Shift + ‘;’ активирует снизу строку для ввода команды
— Сделать необходимые изменения и сохранить :wq (:q! — выйти без сохранения)
— Затем нужно проверить корректность конфигурации nginx -t
— Перезапускаем nginx коммандой service nginx reload
В плагине capabilities должны стоять разрешения в группе WordPress Core — unfiltered html, unfiltered upload.
Если для создания фидов на сайте используется платный плагин woocommerce google product feed и необходимо создать разные фиды для разных языков и валют, то делается это с помощью адреса фида.
Никаких настроек для этого сам плагин фида, как и плагины мультиязычности/мультивалютности не содержит.
Фид достаточно создать в админке сайта только один. И для получения необходимого менять его адрес.
1 |
https://test.com/nl/woocommerce_gpf/844593872066e694dd6/?wmc-currency=EUR |
где приставка /nl/ говорит о том, что в фид нужно включить товары на Нидерландском языке, ?wmc-currency=EUR в конце задает валюту фида.
Таким образом, можно создать фиды на разных языках с разной валютой.
В конце адреса не нужно ставить наклонную черту. Иначе нельзя будет получить через $_GET значение параметра wmc-currency.
1 |
git push -f origin master |
origin — это репозиторий
master — это ветка
Также бывает ситуация, когда вы внесли изменения в файлы у себя на ПК. Но другой пользователь репозитория тоже изменил эти файлы и уже закоммитил их. В таком случае поможет команда получить данные из репозитория отменив локальные изменения.
1 |
git stash |
После ее выполнения все изменения в файлах будут отменены до последнего коммита. А сами изменения положены в архив, откуда их впоследствии можно применить.
В конце февраля 2022 года bitbucket изменил аутентификацию для данной программы. При попытке загрузить изменения в репозиторий появлялась ошибка
1 |
Bitbucket Cloud recently stopped supporting account passwords for Git authentication |
Для того, чтобы ее исправить необходимо в терминале git выполнить следующую команду
1 |
git remote set-url origin https://<Bitbucket_Username>:<App_Password>@bitbucket.org/<Repo_Name>.git |
Перед этим предварительно нужно создать пароль для приложений в личном кабинете bitbucket.
Попробуйте, пожалуйста, выполнить следующие команды:
rm -rf /usr/local/mgr5/etc/ispmgr.lic — удалить файл лицензии с сервера.
/usr/local/mgr5/sbin/licctl fetch ispmgr ключ — скачать заново файл лицензии.
Где, ключ — это ключ вашей лицензии.
SELECT CONCAT(‘https://site.name/product/’,pm1.post_name) as PRODUCT_URL,pm1.ID as PRODUCT_ID,AVG(pm.meta_value) as AVERAGE_RATING, pm1.comment_count as COMMENT_COUNT FROM in_comments as p
INNER JOIN in_commentmeta as pm ON p.comment_ID = pm.comment_id
INNER JOIN in_posts as pm1 ON p.comment_post_ID = pm1.ID
INNER JOIN in_postmeta as pm2 ON p.comment_post_ID = pm2.post_id
WHERE p.comment_approved = 1
AND pm.meta_key = ‘rating’
AND pm1.post_type LIKE ‘product’
AND pm1.post_status LIKE ‘publish’
AND pm1.post_parent = ‘0’
AND pm2.meta_key LIKE ‘_stock_status’
group by pm1.ID desc
ORDER BY AVERAGE_RATING
DESC
У woocommerce есть одна особенность при одинаковой цене всех вариаций товара. В таком случае цена товара не будет показываться в карточке. Для того, чтобы принудительно вывести цену нужно добавить следующий фильтр
1 2 3 4 5 6 7 |
add_filter('woocommerce_available_variation', function($available_variations, \WC_Product_Variable $variable, \WC_Product_Variation $variation) { if (empty($available_variations['price_html'])) { $available_variations['price_html'] = '<span class="price">' . $variation->get_price_html() . '</span>'; } return $available_variations; }, 10, 3); |