woocommerce product feed мультиязычность и мультивалютность

Если для создания фидов на сайте используется платный плагин woocommerce google product feed и необходимо создать разные фиды для разных языков и валют, то делается это с помощью адреса фида.

Никаких настроек для этого сам плагин фида, как и плагины мультиязычности/мультивалютности не содержит.

Фид достаточно создать в админке сайта только один. И для получения необходимого менять его адрес.

https://test.com/nl/woocommerce_gpf/844593872066e694dd6/?wmc-currency=EUR

где приставка /nl/ говорит о том, что в фид нужно включить товары на Нидерландском языке, ?wmc-currency=EUR в конце задает валюту фида.
Таким образом, можно создать фиды на разных языках с разной валютой.
В конце адреса не нужно ставить наклонную черту. Иначе нельзя будет получить через $_GET значение параметра wmc-currency.

Git принудительная загрузка в репозиторий

git push -f origin master

origin — это репозиторий
master — это ветка

Также бывает ситуация, когда вы внесли изменения в файлы у себя на ПК. Но другой пользователь репозитория тоже изменил эти файлы и уже закоммитил их. В таком случае поможет команда получить данные из репозитория отменив локальные изменения.

git stash

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

SourceTree for windows authentication error

В конце февраля 2022 года bitbucket изменил аутентификацию для данной программы. При попытке загрузить изменения в репозиторий появлялась ошибка

Bitbucket Cloud recently stopped supporting account passwords for Git authentication

Для того, чтобы ее исправить необходимо в терминале git выполнить следующую команду

git remote set-url origin https://<Bitbucket_Username>:<App_Password>@bitbucket.org/<Repo_Name>.git

Перед этим предварительно нужно создать пароль для приложений в личном кабинете bitbucket.

ispmanager применить триал лицензию

Попробуйте, пожалуйста, выполнить следующие команды:
rm -rf /usr/local/mgr5/etc/ispmgr.lic — удалить файл лицензии с сервера.

/usr/local/mgr5/sbin/licctl fetch ispmgr ключ — скачать заново файл лицензии.
Где, ключ — это ключ вашей лицензии.

SQL запрос получения списка товаров с адресами и рейтингом

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 показывать цены вариаций

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

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);

Выборка из двух таблиц mysql

sql запрос для выборки адресов товаров в наличии woocommerce.

SELECT CONCAT("https://site.name",p.name) as 'PRODUCT URL'
    FROM wp_posts as p
    INNER JOIN wp_postmeta as pm ON p.ID = pm.post_id
    WHERE p.post_type LIKE 'product'
    AND p.post_status LIKE 'publish'
    AND p.post_parent = '0'
    AND pm.meta_key LIKE '_stock_status'
    AND pm.meta_value LIKE 'instock'

404 для attachment страниц

В случае, если из-за ошибок в сео (например из-за неверных настроек плагина aio) в выдачу попали страницы вложений — нужно настроить для них код ответа 404

/**Редирект со страницы вложения attachment на страницу 404**/
add_action('template_redirect', 'template_redirect_attachment');
function template_redirect_attachment() {
global $post;
if (is_attachment()) {
wp_redirect(get_permalink($post->post_parent));
 status_header( 404 );
        nocache_headers();
        include( get_query_template( '404' ) );
        die();
}
}

Не оправляется почта microsoft

Если не отправляется почта на почтовые ящики сервисов hotmail.com live.com outlook.com то в сообщение об ошибке может быть указано, что это произошло по причине того, что ip вашего сервера блокируется microsoft.Чтобы решить проблему необходимо:
— Создать обращение по ссылке https://support.microsoft.com/en-us/supportrequestform/8ad563e3-288e-2a61-8122-3ba03d6b8d75
— Вам придет ответ. Если в ответе написано, что послабления невозможны, проверьте соответствие политике microsoft и т.д — то нужно ответить на это письмо. В нем вежливо написать, почему блокировка ошибочна.
— Обычно ограничения снимаются в течение 24-48 часов.