Авторы тем смогут передавать аргументы в шаблоны в WordPress 5.5

Разработчики тем наконец-то могут порадоваться. У них появится возможность передавать аргументы в шаблоны через разные базовые функции загрузки шаблонов. Энрико Сорчинелли объявил об этих изменениях в блоге Make Core в прошлую пятницу. Изначально эта функция была предложена Скоттом Кингсли Кларком в 2012 году. За прошедшие годы тикет получил с десяток патчей. Он закрывался, потом снова …

Подробнее

Истории, когда мирный атом оказался не таким мирным

Состоянии гонки(Race condition) на примере счетчика

И так, давайте сегодня вспомним истории, когда, казалось бы, мирный атом, повернулся человечеству не тем местом. Начнём!США, штат Теннеси. 1 сентября 1944 года в Ок-Риджской национальной лаборатории произошел взрыв гексафторида урана, что привело к образованию опасного вещества – гидрофтористой кислоты. Пострадало 5 человек, которые в тот момент находились в лаборатории. Вскоре двое из них погибли, а остальные получили серьёзные травмы.СССР, объект «А» комбината «Маяк» в Челябинской области. 19 июня 1948 года в результате недостаточного охлаждения урановых блоков произошло их сплавление с графитом. В процессе ликвидации аварии облучению подвергся весь мужской персонал, а также солдаты, которые были привлеченные к ликвидации аварии. И если работники комбината понимали с чем имеют дело, то солдатам никто не говорил, для чего они были задействованы в ликвидации.Канада, штат Онтарио. 12 декабря 1952 года на АЭС Чолк-Ривер произошла первая в мире серьёзная авария. Из-за технической ошибки персонала станции произошел перегрев и частичное расплавление активной зоны. Тысячи тон продуктов деления попали во внешнюю среду, а около 3800 кубических метров загрязненной воды было сброшено прямо на землю.СССР, операция “Снежок”. 14 сентября 1954 года на Тоцком полигоне Оренбургской прошли учения с использованием ядерного оружия. Только ядерное оружие было приведено в действие перед самими учениями, а после взрыва, к его эпицентру были направлены войска. В результате учений, облучения получили около 45 тыс. военнослужащих РККА. Со всех участников учений была взята подписка о неразглашении государственной и военной тайны сроком на 25 лет. Даже самые близкие люди не имели права знать всей правды о том, что делали их родные во время этих учений.СССР, Хранилище радиоактивных отходов ПО «Маяк» в Челябинской области. 29 сентября 1957 года произошел взрыв емкости, которая содержала 20 миллионов кюри радиоактивности. Авария получила название “Кыштымская”. В результате образовалось радиоактивное облако, которое прошло над Челябинской, Свердловской и Тюменской областями. В ликвидации последствий аварии в период с 1957 по 1959 год участвовали от 25 тысяч до 30 тысяч военнослужащих. В советское время катастрофа была засекречена.Швейцария, реактор в Люценсе. В 1969 году произошла авария подземного ядерного реактора, пещеру в которой он находился, пришлось навсегда замуровать.СССР, Чернобыль. В ночь с 25 на 26 апреля 1986 года произошла самая крупнейшая ядерная катастрофа в мире. В атмосферу было выброшено 190 тонн радиоактивных веществ. 8 из 140 тонн радиоактивного топлива реактора оказались в воздухе. Другие опасные вещества продолжали покидать реактор в результате пожара, длившегося почти две недели. Люди в Чернобыле подверглись облучению в 90 раз большему, чем при падении бомбы на Хиросиму. В результате аварии произошло радиоактивное заражение в радиусе 30 км. Загрязнена территория площадью 160 тысяч квадратных километров. Радиационному загрязнению подверглась территория почти 60 тысяч квадратных километров, с населением 2.6 миллиона человек. Некоторые факты были засекречены и расследование причин катастрофы также было несколько искажено партийными указаниями.Япония, АЭС Фукусима-1. 11 марта 2011 года в результате сильнейшего в истории Японии землетрясения и последовавшего за ним цунами произошла крупная радиационная авария максимального, 7-го уровня по Международной шкале ядерных событий (INES). Произошло расплавление ядерного топлива в реакторах энергоблоков 1—3, накопление водорода в результате пароциркониевой реакции и взрывы гремучей смеси на энергоблоках 1, 3 и 4. В окружающую среду попали в основном летучие радиоактивные элементы, такие как изотопы йода и цезия, объём выброса которых составил до 20 % от выбросов при Чернобыльской аварии.Как видим, в этом далеко не полном списке, наведены примеры того, что использование атома, может привести не совсем к мирным последствиям. Поэтому позиция некоторых экологических активистов, о запрете работы атомных электростанций, имеет под собой крепкий фундамент. И с развитием технологий, всему миру стоит задуматься, что в любой момент этот список может пополниться новыми трагедиями, и что пора уже массово переходить на “зелёную” энергию, пока мы не угробили планету полностью.

Пользовательское соглашение

Создание favicon для сайта 2020

Настоящее Пользовательское Соглашение (Далее Соглашение) регулирует отношения между владельцем wpcraft.ru (далее WPCraft или Администрация) с одной стороны и пользователем сайта с другой.
Сайт WPCraft не является средством массовой информации.Используя сайт, Вы соглашаетесь с условиями данного соглашения.
Если Вы не согласны с условиями данного соглашения, не используйте сайт WPCraft!Права и обязанности сторон
Пользователь имеет право:осуществлять поиск информации на сайте
получать информацию на сайте
комментировать контент, выложенный на сайте
использовать информацию сайта в личных некоммерческих целях
Администрация имеет право:по своему усмотрению и необходимости создавать, изменять, отменять правила
ограничивать доступ к любой информации на сайте
Пользователь обязуется:не нарушать работоспособность сайта
не использовать скрипты (программы) для автоматизированного сбора информации и/или взаимодействия с Сайтом и его Сервисами
Администрация обязуется:поддерживать работоспособность сайта за исключением случаев, когда это невозможно по независящим от Администрации причинам.
Ответственность сторонадминистрация не несет никакой ответственности за услуги, предоставляемые третьими лицами
в случае возникновения форс-мажорной ситуации (боевые действия, чрезвычайное положение, стихийное бедствие и т. д.) Администрация не гарантирует сохранность информации, размещённой Пользователем, а также бесперебойную работу информационного ресурса
Условия действия Соглашения
Данное Соглашение вступает в силу при любом использовании данного сайта.
Соглашение перестает действовать при появлении его новой версии.
Администрация оставляет за собой право в одностороннем порядке изменять данное соглашение по своему усмотрению.
Администрация не оповещает пользователей об изменении в Соглашении.

wp_get_environment_type() новая функция в WordPress 5.5

WordPress 5.5 вводит новую функцию wp_get_environment_type(), которая извлекает текущий тип среды сайта. Это позволяет авторам плагинов и тем легче различать, как они обрабатывают конкретную функциональность между продакшеном и рабочими сайтами стандартизированным способом.

Замена конструкций exit/die в unit-тестах

Если в коде вы используете die/exit то PHPUnit прекратит свою работу в этот момент. Для этого нам нужно заменить конструкцию exit/die. Но это сделать сложно т.к. Functions Mocker с этим не справляется. Пример: class Duck { public function last_words() { die( ‘I’ll be back’ ); } } Меняем класс следующий образом: class Duck { public …

Подробнее

Unit tests matter или Roadmap для Unit тестов на WordPress

Теоретические основы тестирования Зачем необходимо тестирование? Какие виды тестирования бывают? Чем юнит-тестирование отличается от других видов тестирования? Кто и как должен тестировать продукт? Библиотеки для тестирования PHPUnit Базовые команды Фикстуры (Fixtures) Бутстрап (bootstrap.php) Утверждения (Asserts) Создания конфигов (phpunit.xml) Code coverage Mockery Стабы/Моки/Шпионы Частичные моки Моки для типов данных Абстрактные классы Hard dependencies Тестирования WordPress: Brain …

Подробнее

the_date()

Функция the_date() выводит или возвращает дату написания текущего поста, если дата текущего поста отличается от даты предыдущего поста. Эта функция используется внутри цикла WordPress. Внутри данной функции работает функция is_new_day(), которая сравнивает дату публикации текущего поста с датой публикации предыдущего. Если отличия нет, то текущая дата не выводится. the_date( $format = », $before = », …

Подробнее

модуль WooMS XT (Extra) Перестает работать оплата на сайте

модуль WooMS XT (Extra) Перестает работать оплата на сайте

Добрый день! Подключаем модуль WooMS XT (Extra) Перестает работать оплата на сайте в логах вижу это:2020-10-28T21:24:00+00:00 CRITICAL Uncaught Error: Call to undefined function wc_get_cart_item_data_hash() in /home/i/ishock/ishock.me/public_html/wp-content/plugins/woocommerce/includes/class-wc-cart-session.php:114 Stack trace: #0 /home/i/ishock/ishock.me/public_html/wp-includes/class-wp-hook.php(286): WC_Cart_Session->get_cart_from_session(\’\’) #1 /home/i/ishock/ishock.me/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array) #2 /home/i/ishock/ishock.me/public_html/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #3 /home/i/ishock/ishock.me/public_html/wp-settings.php(488): do_action(\’wp_loaded\’) #4 /home/i/ishock/ishock.me/public_html/wp-config.php(89): require_once(\’/home/i/ishock/…\’) #5 /home/i/ishock/ishock.me/public_html/wp-load.php(37): require_once(\’/home/i/ishock/…\’) #6 /home/i/ishock/ishock.me/public_html/wp-admin/admin.php(31): require_once(\’/home/i/ishock/…\’) #7 /home/i/ishock/ishock.me/public_html/wp-admin/user-edit.php(10): require_once(\’/home/i/ishock/…\’) #8 /home/i/ishock/ishock.me/pu в /home/i/ishock/ishock.me/public_html/wp-content/plugins/woocommerce/includes/class-wc-cart-session.php на строке 114И вот такую ошибку еще нашел хелп плз 2020-11-28T07: 38: 41+00:00 критическая ошибка Uncaught: вызов неопределенной функции WooMS\ \ as_enqueue_async_action() в /home / i / ishock/ishock. me / public_html/wp-content / plugins/wooms-extra / inc/OrderSender. php:385 Трассировка стека: #0 /home/i/ishock/ishock.me/public_html/wp-content/plugins/wooms-extra/inc/OrderSender.php(370): WooMS\ \ OrderSender:: add_task_order_update(297) #1 /home/i/ishock/ishock.me/public_html/wp-includes/class-wp-hook.php(286): WooMS\ \ OrderSender:: batch_hadler() #2 /home/i/ishock/ishock.me/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters (\’\ ‘ , массив) #3 /home/i/ishock/ishock.me/public_html/wp-includes/plugin.php(515): WP_Hook — >do_action(массив) #4 /home/i/ishock/ishock.me/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Action.php(22): do_action_ref_array (\’wooms_check_ord…\’, массив) #5 /home/i/ishock/ishock.me/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Abstract_QueueRunner.php(59): ActionScheduler_Action->ex в /home/i/ishock/ishock.me/public_html/wp-content/plugins/wooms-extra/inc/OrderSender.php на строке 385 2020-11-28T07: 39: 51+00:00 критическая ошибка Uncaught: вызов неопределенной функции WooMS\ \ as_enqueue_async_action() в /home / i / ishock/ishock. me / public_html/wp-content / plugins/wooms-extra / inc/OrderSender. php:385 Трассировка стека: #0 /home/i/ishock/ishock.me/public_html/wp-content/plugins/wooms-extra/inc/OrderSender.php(370): WooMS\ \ OrderSender:: add_task_order_update(297) #1 /home/i/ishock/ishock.me/public_html/wp-includes/class-wp-hook.php(286): WooMS\ \ OrderSender:: batch_hadler() #2 /home/i/ishock/ishock.me/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters (\’\ ‘ , массив) #3 /home/i/ishock/ishock.me/public_html/wp-includes/plugin.php(515): WP_Hook — >do_action(массив) #4 /home/i/ishock/ishock.me/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Action.php(22): do_action_ref_array (\’wooms_check_ord…\’, массив) #5 /home/i/ishock/ishock.me/public_html/wp-content/plugins/woocommerce/includes/libraries/action-scheduler/classes/ActionScheduler_Abstract_QueueRunner.php(59): ActionScheduler_Action->ex в /home/i/ishock/ishock.me/public_html/wp-content/plugins/wooms-extra/inc/OrderSender.php на строке 385

get_the_tags()

Функция get_the_tags() позволяет получить все метки поста, в отличии от get_tags(), которая выводит все метки, зарегистрированные на сайте. get_the_tags( $id ) $id (число) Обязательный параметр. ID поста. Возвращает массив объектов WP_Term, указанного поста или false. Пример Много примеров здесь ждать не стоит, т.к. всё очень просто. Чтобы получить все метки конкретного поста, просто указываем ID …

Подробнее

wp_get_post_tags()

Функция wp_get_post_tags() также как и get_the_tags() возвращает все метки поста. Работает на основе функции wp_get_post_terms(). wp_get_post_tags( $post_id, $args = array() ) $post_id (число) ID поста. По умолчанию 0. $args (массив) Дополнительный параметр. Про возможные аргументы можете почитать в статье про get_terms(). Возвращает либо массив объектов меток текущего поста, либо ошибку WP_Error, либо пустой массив, если …

Подробнее

wp_get_current_user()

Функция wp_get_current_user() позволяет получить информацию о текущем пользователе в виде объекта WP_User. wp_get_current_user() Аргументы отсутствуют. Возвращает объект WP_User, если пользователь авторизован (вошёл в систему). Если пользователь не авторизован, то функция автоматически установит ID пользователя равное 0 и вернёт пустой объект. Проверить, авторизован пользователь или нет, можно при помощи функции is_user_logged_in(). Пример возвращаемого объекта WP_User для …

Подробнее

get_the_date()

Функция get_the_date() возвращает дату написания текущего поста. В отличие от функции the_date() всегда возвращает дату. В конце применяется фильтр get_the_date. get_the_date( $format = », $post = null ) $format (строка) Формат даты/времени. Например Y-m-d (2020-01-30). Все возможные форматы вы можете найти в официальной документации PHP. $post (число|WP_Post) ID поста или объект поста. Если не указать …

Подробнее

get_avatar_url()

Функция get_avatar_url() возвращает ссылку на аватар (Gravatar) пользователя. Подробнее про аватар можно прочитать в статье посвященной функции get_avatar(). get_avatar_url( $id_or_email, $args = null ) $id_or_email (смешанный) Обязательный параметр, который поддерживает следующие данные: Адрес электронной почты, которым не обязательно должен быть зарегистрирован на сайте. Объект WP_User или ID пользователя. Объект WP_Comment. Объект WP_Post. MD5-хэш Gravatar. $args …

Подробнее

Unsplash запускает официальный плагин для WordPress

Gutenberg 9.1 — добавлен выбор категорий паттернов, вернули интерфейс виджетов на основе блоков

Unsplash выпустила свой собственный официальный плагин для WordPress, разработанный совместно с командой XWP. Плагин соединяет 1 миллион+ бесплатную библиотеку изображений высокого разрешения Unsplash с редактором WordPress.