pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: VC++ 2010 не даёт описать переменную в середине блока — ограничение Express-версии?

Лучший ответ: Возможность определять переменные в середине блока появилась в С стандарта 99.
Visual Studio 2010 поддерживает только С 98. Независимо от редакции.

Худший ответ: Посмотрите в настройках проекта какая версия языка используется.
Не скажу на вскидку какие версии поддерживает cl от VS2010, в VS2017 за это отвечает опция /std. В VC2017 эта опция находится в Configuration Properties -> C/C++ -> Language -> C++ Language Standard
Поведение, которое вы описываете, характерно для лохматых версий Си.
Микрософт официально не поддерживает стандарты языка Си в своем компиляторе (хотя стандарты частично реализуются), поэтому в опциях компилятора нельзя это задать.
Если задать опцию /TP, то все файлы исходного кода будут компилироваться как С++ код, не зависимо от расширения файла. По умолчанию, если расширение .c - компилируется как Си код. Возможно эта опция поможет избавиться от ошибки, но есть шанс появления других ошибок. В VC2017 эта опция находится в Configuration Properties -> C/C++ -> Advanced -> Compile As
PS: номер и текст ошибки то же было бы не плохо сюда запостить.
Вопрос: Не отображается сетка в figma почему?

Лучший ответ: Тема устарела, но если кому поможет, то у меня все решилось, когда я не просто повернула фрэйм, а изменила его отображение. Видимо сетка не строится на перевернутом.

Худший ответ: А настройки самой сетки проверяли? Похоже дело в ней самой, можно скрин настроек в студию?
Вопрос: Какое из двух направлений выбрать в Python если интересны оба?

Лучший ответ: боюсь как в поговорке погнаться за двумя зайцами...
Вот вам другая поговорка:
Любой человек должен уметь менять пеленки, планировать вторжения, резать свиней, конструировать здания, управлять кораблями, писать сонеты, вести бухгалтерию, возводить стены, вправлять кости, облегчать смерть, исполнять приказы, отдавать приказы, сотрудничать, действовать самостоятельно, решать уравнения, анализировать новые проблемы, вносить удобрения, программировать компьютеры, вкусно готовить, хорошо сражаться, достойно умирать. Специализация — удел насекомых.
Чтобы стать хорошим специалистом - нужно не торчать буридановым ослом на Тостере, а пробовать и нарабатывать опыт. Нравится ИИ - пробуй. Нравится аналитика - пробуй и ее. Старательно выбирая, чего НЕ делать, ты точно специалистом не станешь.

Худший ответ: Нужно изучать оба направления.
Вопрос: Видеоурок написания drupal8 сайта с момента установки drupal до заливки на хостинг?

Лучший ответ: Дядь ты нормальный?
https://www.youtube.com/watch?v=m-tTWRdmVP4 смотреть с 2 минуты

Худший ответ: Если хочется прокрастинировать и смотреть как другие работают, то вот 
https://www.youtube.com/watch?v=kIjepXxLjQM
Вопрос: В какой сфере программирования стоит развиваться?

Лучший ответ: Посоветую такую, которая нравится и подходит именно вам. Вы бы ещё жену вам попросили выбрать.

Худший ответ: 1. Учите английский. Он должен быть не на уровне школы или института, а на уровне разговорного общения. Не поленитесь на отлично сдать и школьно/институтскую программу и отдельно учиться при помощи разных материалов, а потом и курсов с разговорными носителями.

2. плохая математика говорит не о том, что у вас плохо с математикой, а о том, что у вас плохо с самоорганизацией и целеустремленностью. Неужели школьную программу так сложно изучить, если любую непонятную тему сейчас можно подсмотреть в гугле, в ютубе, поискать старшеклассников-репетиторов, договориться с преподавателем.
Это очень важно - научиться изучать сложные, непонятные и неприятные вещи. В программировании такого полно, и когда говорят что в школе важно научиться учиться - это не просто слова. К сожалению до многих это доходит слишком поздно, когда уже невозможно выделять нужное время на учебу.

Поэтому добейтесь того, чтобы все предметы в школе были выучены на хорошие отметки. Нет смысла бежать за идеальными, но 5 из 12 это ниже среднего.

А программирование - неважно какой язык. Главное больше практики. Присоединяйтесь к каким-нибудь общим разработкам, в мире их много.
Вопрос: Хочу заниматься веб-разработкой, с чего начать?

Лучший ответ: 1. Научиться пользоваться гуглом
2. Понять, что на эту тему уже заданы сотни вопросов и написаны тысячи ответов
3. Проанализировать их
 ...
PROFIT

Худший ответ: привет)
я считаю самое важное найти работу ..как не странно)
я учился года 2 думал что что то умею прошёл собиседование на работу верстальшиком с посути нуливими знаниями даже ответить на вопрос почему js подключают с низу не смог сейчас уже почти год работаю умею писать сносный код) ..
в идиалистов не верю считаю чтоб что то нравилась оно должно приносить прыбыль пожтому:
1) ищи работу если вырвешься всему научат 
css html конечно на них держится все но сейчас я пишу в основном pug sass 
и самое главное
11) js если поймешь как его писать проблем не будет ни с чем
Вопрос: Как глобализировать все переменные функции, если их слишком много?

Лучший ответ: Вообще не надо ничего глобализовать. Глобальные переменные - это зло, а появление в коде оператора global - всегда признак говнокода.

Худший ответ: Создайте класс
Вопрос: Apache 2.4 не видит внешний IP, хотя mod_remoteip настроен. Куда копать?

Лучший ответ: Измените порядок директив в apache, сначала RemoteIPInternalProxy, после RemoteIPTrustedProxy:

<IfModule remoteip_module>
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1 10.1.1.10
RemoteIPTrustedProxy 127.0.0.1 10.1.1.10
</IfModule>

Худший ответ: RemoteIPHeader X-Forwarded-For не должен быть случаем X-Real-IP?
RemoteIPHeader Directive / Declare the header field which should be parsed for useragent IP addresses
Вопрос: Как правильно добавить запрос в базу?

Лучший ответ: Это надо спрашивать у автора того дырявого велосипеда, которым ты пользуешься.
Предположу что надо добавлять в $sql

Худший ответ: По уму в {$sql} должно попасть "WHERE `approve` = 1 " но ты можешь попробовать так:"sql_count"		=> "SELECT COUNT(*) as count FROM ".PREFIX."_text_post WHERE `approve` = 1",
"sql_query"		=> "SELECT * FROM ".PREFIX."_text_post WHERE `approve` = 1 ORDER BY sort {$sort} {limit} ",
Вопрос: Работают ли иностранные CDN так же быстро?

Лучший ответ: Скорость получения файла из хостинга в мск зависит от количества хопов и качества линий связи между хопами на пути от хостинга к человеку

Скорость получения файла из cdn зависит от того же самого - CDN живет не в вакууме а на хостингах конкретных CDN-провайдеров. Если у них ближайший хостинг к человеку будет ближе, чем у обычного хостинга, то будет быстрее CDN

Худший ответ: Если честно - по опыту использования и тестирования - этот CDN вообще нигде и никогда не нужен (кроме огромных проектов с собственными распределенными серверами)
Вопрос: Можно ли на nfc метку скопировать данные банковской карты для оплаты покупок?

Лучший ответ: Нет.No, you can't. To oversimplify - wireless payments (NFC, RFID chips on cards, etc) aren't a simple 'what's your card number' transaction (because that would be insecure beyond belief), they are more of a 'here, encrypt this block of data with your secret numbers and return it' type of thing.
The block of data to be encrypted changes for each transaction, and there's (supposed to be) no way to get the device to spit out it's secret numbers.
So you can't EASILY clone your cards onto your phone (if you could, then so could anyone else who walked near you).
That's not to say it can't be done at all (if, perhaps, you found a flaw in the way the crypto works, you could perhaps deduce the secret numbers of a device), but it's not something you're going be buying an app for.
https://android.stackexchange.com/questions/21982/...
https://www.taptrack.com/article/blog/you-cant-cop...
Но можно расковырять карту, вынуть чип с антенной и поместить это всё допустим в кольцо.
https://www.instructables.com/id/RFID-NFC-Tap-and-...

Худший ответ: Можно банковскую карту, у которой есть возможность бесконтактной оплаты, положить под смартфон в чехле.
Вопрос: Почему push() возвращает длину массива?

Лучший ответ: Потому что так написано в спецификации.

Худший ответ: Все верно, array push возвращает длину массива. Так и должно быть.
Вопрос: Какое самое наилучшее приложение для чтения книг на android?

Лучший ответ: Я пользуюсь fbreader

Худший ответ: Fbreader - отличная читалка. Но больше всего мне нравится, что у нее есть синхронизация между устройствами. Я читал дома на планшете, а в дороге иногда на телефоне
Вопрос: Слетит ли гарантия, если поставлю Пингвина с Окнами?

Лучший ответ: Об этом писалось уже мульён раз.
Было разъяснение от Межрегионального центра защиты прав потребителей.
Есть куча прецедентов, когда в судах с лёгкостью выигрывали у продавцов и производителей кейсы на эту тему.
Установка любого, другого софта в девайсы в период его гарантийного срока не является причиной отказа в гарантийном обслуживании!!!

Загуглите и всё увидите сами.

Худший ответ: Слетит ли гарантия, если Вы поставите на ноут "танчики", или "virtualbox" ? Linux то же самое ПО с точки зрения железа. В чем проблема?
Вопрос: Куда пожаловаться на невыплату по реферальной программе?

Лучший ответ: Имхо лучшим ответом будет что-то типа:
"Реферальная программа подразумевает привлечение клиентов посредством размещения реферальных ссылок на сайтах партнеров, или на любых доступных для публикации ссылок ресурсах. Как вы понимаете, для этого партнерам нет никакой необходимости собирать какие-либо данные о клиентах, перешедших по реферальным ссылкам, так как всех привлеченных клиентов в итоге отслеживает ваша система. Что и отражено в статистеке моего счета реферальной программы. Если у вас возникают сомнения в качестве работы вашего же программного обеспечения в учете рефералов и выплате по ним средств, то это не очень хороший сигнал о качестве работы сервиса и надежности в целом, как в работе с клиентами, так и в работе с ПО. Все же я надеюсь что работа с вами не будет для меня разочаровывающим опытом... "
Далее добавить от себя по вкусу, можно намекнуть на огласку в соц сетях, на сайте, в крупных сообществах, как предложил McBernar

Худший ответ: Читайте соглашение партнерки. Если там нет фраз типа «хочу — плачу, хочу — не плачу» — можно написать досудебку. Потом в суд, если реакции не будет. Но в суде придется доказать, что клиент ваш. Можно ли это сделать — вам виднее. Могу предположить, что это будет сложно. 
Другой вариант — максимально открыто рассказать об этом у себя на сайте, на Хабре, в Фейсбуке. Со скринами, логами и прочим. Репутационный удар будет приличный. Вполне возможно, что хостер захочет урегулировать все сам. Ну или нет и тогда просто забудьте о нем.
Вопрос: Почему это говнокод?

Лучший ответ: if(is_singular( 'portfolio' ) ) {
Это так называемый WordPress codestyle (расставление скобок и пробелов) - забудьте как страшный сон, фу. 
А если уж и следуете - то следуйте везде, а у вас тут так, тут иначе. 

<?
Нельзя короткую открывающую конструкцию использовать, пишите полностью. 
Исключение - <?= - я бы даже рекомендовал использовать такую запись, если кроме вывода действительно ничего не надо. 

Код вперемешку с разметкой - это очень плохо и сложно для восприятия. WordPress, к сожалению, не предлагает никаких штатных опций этого избежать, им то ли кажется, что это норма, то ли объём кодовой базы такой, что переписать нормально возможности нет. Сами себе придумайте вариант разделения от простого выноса логики в функции (например, в последнем блоке кода выдумайте какую-нибудь функцию getPostTags и ей получайте разметку) до шаблонизаторов. 

Отступы крайне странные - читать неудобно, кроме того, код фолдинг сломается в Саблайме например (он использует отступы для этого). Пишите код на той же вложенности, где тег открыли. 

В логику вникать лень. Сами посмотрите ещё раз и оцените, есть ли там повторяющиеся куски кода, можно ли сделать эффективнее...

Как можно заметить, большая часть косяков относится к визуальному форматированию - и это логично, ибо код мы гораздо чаще читаем, чем пишем, и надо сделать этот процесс удобным. 
Приведите форматирование к единому виду - и нормально будет. 
Говно, не говно - у меня вот крайне редко возникает мысль "вау, великолепный код!". 
Если код можно без проблем прочесть и понять чего автор хотел - он нормальный, и это окей.

Худший ответ: Как минимум форматирования нет и вся лапша в одной функции - получается сложночитаемая не логическая фигня.
Разбей на функции. Убери повторы в функцию и передавай в неё различия. Настрой автоматическое форматирование по сохранению хотя бы.

И возьми за правило режим дебага включать - уверен нотисы есть.
Вопрос: Есть ли готовые шкафы для хранения железа?

Лучший ответ: Да любой, хосспаде.
Можете серверный шкаф купить и туда складывать, делов-то.
Можете просто шкаф из Икеи с замком.

Худший ответ: Шкаф архивный усиленный с переставляемыми полками. 
В идеале если полки к нему можно докупить отдельно
Вопрос: Как оптимально питаться при работе головой?

Лучший ответ: Никогда не следил за питанием. Ем преимущественно мясо, запиваю пивом и кофе. Регулярно оскотиниваюсь более крепкими напитками, в процессе оскотинивания курю нон-стоп.

Худший ответ: Никак не слежу, хочу есть - ем, не хочу - не ем, когда хочу - это яишница, пицца, шаверма, бургеры, пловы, лагманы, пельмени и прочее
Вопрос: Где лучше всего завести блог на тему машинного обучения?

Лучший ответ: Ну, если действительно есть, что сказать, а не 628-раз переписать, что ML состоит из трех разновидностей обучения и что логистическая регрессия позволяет решать задачи классификации, то тут:
https://towardsdatascience.com/
https://www.datasciencecentral.com/
https://www.kdnuggets.com/news/index.html

Худший ответ: Если совсем начинающий, то https://medium.com/
Если уже готов хвастаться: https://www.kaggle.com/notebooks
Вопрос: Можно ли извлечь данные с украденного телефона?

Лучший ответ: Данные на SD карте можно считать, да банально встатвить карту в другой телефон.
Данные с телефона, скорее всего вытягивать не станут, для этого нужно будет уже повозиться, поэтому вероятнее всего сделают просто сброс с очисткой. Но, если у вас там серъезные конфиденциальные данные, то лучше исходите из того, что их уведут: личные фото увидят, в соцсети и мессенджеры зайдут, досуп к интернет банкингу получат. И действуйте соответственно: меняйте пароли, блкируйте карты, и.т.д.

Худший ответ: Заблокируйте через google и Самсунг
Вопрос: Как использовать скрипт один раз, а не вставлять его каждый раз?

Лучший ответ: Вынесите его в отдельную функцию и передавайте нужные параметры, которые могут изменяться от вызова к вызову в качестве аргументов.function getJsonAndUpdateTable(jsonPath) {
  $.getJSON(jsonPath, function (data) {
      $(data).each(function(index, item) {
      $('#table').append(
          '<tr><td class="col1">'+ item.title01 +'</td><td class="col2">' + item.shopcode + '</td><td> <a href="' + item.link + '">' + item.title + '</a></td><td class="col3">' + item.cost + '</td></tr>'
          );
      });
  });
}
А далее вызывайте эту функцию где необходимо и передавайте внутрь путь к нужному json файлу.

Худший ответ: Для переиспользования кода используются функции. function doMagic(path) {
$.getJSON(path, function (data) {
    $(data).each(function(index, item) {
    $('#table').append(
        '<tr><td class="col1">'+ item.title01 +'</td><td class="col2">' + item.shopcode + '</td><td> <a href="' + item.link + '">' + item.title + '</a></td><td class="col3">' + item.cost + '</td></tr>'
        );
    });
});
}

doMagic('/js/db04.json')
doMagic('/js/db05.json')

// или
['/js/db04.json', '/js/db05.json', '/js/db06.json'].forEach(doMagic)
Вопрос: Как сделать сайт сервис который анализировал бы сайты по seo оптимизации?

Лучший ответ: Учитывая что все алгоритмы поисковиков засекречены и о них можно судить только по ответной реакции поисковика + эти алгоритмы периодически меняются = делать такой сервис это "Сизифов Труд".


Худший ответ: Сделать можно, сеошники обычно "знают КАК" проверяется сайт. Пишу в кавычках, потому что никто точно не знает.
Допустим нужна проверка проверка pr-cy.ru на фильтр АГС в Яндексе, переходим по ссылке, смотрим ИКС, если он есть, значит сайт не под фильтром.
https://webmaster.yandex.ru/siteinfo/?site=pr-cy.ru
Вопрос: Стоит ли это заучивать?

Лучший ответ: Имеет смысл ПОНЯТЬ все что там есть. А не заучивать.

Худший ответ: Стотря для кого и зачем
Вопрос: Вопрос по оптимизации кода. Какой код будет более оптимальным для C#?

Лучший ответ: Нужно собрать релизную сборку и сравнить IL код. Вполне возможно что это одно и то же. А если различия и будут, то можно говорить только о конкретной версии dotnet framework. IL может изменяться в зависимости от конкретной CLR или конкретной версии framework. Но даже увидев инструкции я бы не стал предполагать, что из этого быстрее, а написал бенчмарк. Потому что все еще и зависит от железа на котором исполняется. 
https://github.com/dotnet/BenchmarkDotNet
PS
Прежде чем заниматься такими микрооптимизациями, нужно понимать, действительно ли это нужно. Если это ради обучения - ок, но если это реальная задача то в 99% случаев узким местом будет не тот код, который вы считаете узким местом. А реальность покажет профилировщик.

Худший ответ: Ок. А если вместо функции стоит выражение? Например a = b * c. Есть про такие варианты какие нибудь правила?
Вопрос: Недоступен Mikrotik. Странности в winbox при подключении, может кто сталкивался?

Лучший ответ: 1. На микрот можно заходить по МАК , даже если вырубить все службы. Winbox, ssh, telnet. Все равно можно зайти. Главное в МАК СЕРВЕРЕ указать , что в микрот захотите только из локалки.
2. Враги могут по WAN пустить Bogon сеть те симулировать 192.168.х.х на WANе. Нужно отбрасывать такие сети на фаерволе.

Худший ответ: Пару раз уже сталкивался, что если удалить дефолтный конфиг у микротика на прошивках 6.46 и выше - появляется вот это вот 0.0.0.0 - и все, барабан на шею, только ресет со сбросом конфига. Мост наверное разобрали?
Вопрос: Какие есть open-source проекты для Junior ASP.NET Core разработчика?

Лучший ответ: Open source проектов для джуниоров в природе не существует. Есть просто проекты, в любой из которых вы можете сунуться. Начать можно с написания/перевода документации и правки опечаток в ресурсах и коде. Но обычно люди погружаются в тот проект, который используют сами.

Худший ответ: Зачем вам чужой проект? Сделайте, для начала, какой-нибудь блог с админской страницей. Документации по архитектуре полно.
Вопрос: Как можно отловить событие, момент, что изображения не существует и вместо него вставить другое?

Лучший ответ: Два варианта:
1. Если серверный рендер, то наличие картинки можно проверять в шаблонизаторе и подставлять другой вариант

{% if post.image %}
<img src="{{ post.image }}" />
{% else %}
<!-- placeholder -->
{% endif %}

2. На клиенте - использовать событие `error` у картинки

<img src="..."  onerror="..."  />

Худший ответ: Просто сделайте проверку, если при отправке полн оказалось пустым то поставьте картинку по умолчанию - вот и все.
Вопрос: Маленькая js библиотека для реактивности?

Лучший ответ: Vue 3. Именно 3. 
Можно использовать без сборщика. Но с ним, всё таки получше. 
Ну, и можно вытащить только несколько функций, из фреймворка для реактивности а всё остальное не использовать. (Пример)

Худший ответ: Поддерживаю ответ про Vue 3.
Добавлю для поисковых роботов, что можно использовать:

AlpineJS, эдакий Vue на минималках для совсем простых проектов
React (хоть это и будет боль через рендер функции, или куча дополнительных библиотек для поддержки JSX
Вопрос: Как сделать логические подсети в 1 физической?

Лучший ответ: Поставить маску сети /16 или меньше и не мучаться.

Худший ответ: нужна маршрутиризация между сетями. Либо действительно делать маску /16 (255.255.0.0) либо ставить роутер в котором поднять 3 интерфейса x.x.4.254, x.x.5.254, и x.x.6.254, воткнуть их в свич, и прописатьroute add -net x.x.4.0 netmask 255.255.255.0 gw x.x.4.254
route add -net x.x.5.0 netmask 255.255.255.0 gw x.x.5.254
route add -net x.x.6.0 netmask 255.255.255.0 gw x.x.6.254
соответственно в каждом устройстве нужно будет прописать соответствующий GW
Для x.x.4.1 GW будет x.x.4.254 и т.д.
Но вам поход лучше /16 маску шлёпнуть и всё.
Вопрос: Автоответ на форму обратной связи?

Лучший ответ: Человек заполняет форму: email, телефон, имя.
Ему на почту приходит автоматически ответ и прикрепленный файл.
А если человек пишет не свой e-mail или вообще не пишет, а настропалил робота на ваши формочки, то вы ему на халяву организовали спам-бота со своего почтового ящика.
Капча в Битриксе, если что - говно.

Худший ответ: Для этого нужно использовать Почтовую систему.
Можно написать свой функционал, используя API. Или использовать уже имеющийся, например WEB-формы:.
https://dev.1c-bitrix.ru/user_help/service/form/fo...
https://dev.1c-bitrix.ru/learning/course/index.php...
Вопрос: Стоит ли записываться на курсы Яндекс Практикума?

Лучший ответ: 4 направления для Java-разработчиков(Front-End
Однако, плохо вы читали учебник. Java ну никак неприменима в frontend'е. 

какую литературу прочесть после Head First
Учебник "Head First" стартовый. После него лучше углубить знание языка. В этом поможет "Философия Java" Эккеля.

прошу вашей помощи с выбором направления Java разработки
Я рекомендую попробовать всё и решить самому.

а также какие пороги вхождения
В Java высокий порог вхождения в backend-разработку. Выше, чем в PHP или Python. Лучше иметь крепкую базу и хоть какой-нибудь опыт десктопной разработки прежде, чем соваться. А big data - это вообще для профессионалов с многолетним опытом и отличной математической базой.

Худший ответ: 4 направления для Java-разработчиков(Front-End
Однако, плохо вы читали учебник. Java ну никак неприменима в frontend'е. 

какую литературу прочесть после Head First
Учебник "Head First" стартовый. После него лучше углубить знание языка. В этом поможет "Философия Java" Эккеля.

прошу вашей помощи с выбором направления Java разработки
Я рекомендую попробовать всё и решить самому.

а также какие пороги вхождения
В Java высокий порог вхождения в backend-разработку. Выше, чем в PHP или Python. Лучше иметь крепкую базу и хоть какой-нибудь опыт десктопной разработки прежде, чем соваться. А big data - это вообще для профессионалов с многолетним опытом и отличной математической базой.
Вопрос: Как правильно указать It Архитектор в резюме (описание внизу)?

Лучший ответ: IT-арxитектор строит решение в целом, а вот его подчиненные админы делают вот это вот все:
- Заниматься решениями в области СХД и свитчами.
- Заниматься решениями в области Виртуализаций.
- Заниматься решениями в области ОС.
- Заниматься решениями в области от части приложениями.
- Заниматься решениями которая описывает It инфраструктуру.

Ну и главное, что его отличает от перечисленного списка людей - это вереница сданных проектов за спиной. Обычно при найме архитектора человека приглашают на собеседование на основании сарафанного радио ("А давайте пригласим имярек, он X, Y, Z сделал?"), а не по объявлению.

Худший ответ: Сисадмин))
Архитектор в АйТи по дефолту про архитектуру программы, а не про все вот это ваше
Вопрос: Как автоматически измененить статус заказа в Woocommerce?

Лучший ответ: UPD:

Решил данную проблему, добавив данную функцию в functions.php

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
    function custom_woocommerce_auto_complete_order( $order_id ) { 
        if ( ! $order_id ) {
            return;
        }
        $order = wc_get_order( $order_id );
        if( $order->has_status( 'processing' ) ) {
            $order->update_status( 'completed' );
        }
    }

Худший ответ: Рабочее решение найденное в очке интернета. Публикую для себя, чтобы не потерять, но возможно кому-то пригодится.
add_filter( 'woocommerce_thankyou', 'update_order_status', 10, 1 );

function update_order_status( $order_id ) {
  if ( !$order_id ){
    return;
  }
  $order = new WC_Order( $order_id );
  if ( 'on-hold' == $order->status) {
    $order->update_status( 'pending payment' );
  }
  return;
}