Краткая форма условного оператора

Условный оператор (?:) представляет собой компактную форму инструкции условия if.

Синтаксис:

expression ? true_value : false_value

Выполнение этой инструкции начинается с операнда expression. Если значение выражения expression истинно (true), то возвращается значение выражения true_value, иначе возвращается false_value.

В приведенном ниже примере выполняется выбор наименьшего из двух значений. Если значение a меньше b, то возвращается a, иначе возвращается b.

min = (а < b ? a : b);

Примеры использования условного оператора

Обычная форма записи условного оператора:

echo 'Число ';if ($number < 0) echo 'отрицательное';else echo 'положительное';

Компактная форма записи более удобна:

echo 'Число '.($number < 0 ? 'отрицательное' : 'положительное');

Удалить все вложения в wordpress

После удаления всех товаров из Woocommerce хочется почистить и вложения к записям — картинки.

Опять же делаем запрос к базе

DELETE FROM wp_postmeta
WHERE post_id IN
(
SELECT id
FROM wp_posts
WHERE post_type = 'attachment'
)
;

И еще один

DELETE FROM wp_posts WHERE post_type = 'attachment'

Теперь удаляем папки с вложениями в wp-content/uploads

Удалить все товары из WooCommerce WordPress

Появилась такая задача — товаров много, около 20000 штук. Удалять вручную — бред!

Идем в phpmyadmin и делаем запрос к базе

DELETE relations.*, taxes.*, terms.*
  FROM wp_term_relationships AS relations
  INNER JOIN wp_term_taxonomy AS taxes
    ON relations.term_taxonomy_id=taxes.term_taxonomy_id
  INNER JOIN wp_terms AS terms
    ON taxes.term_id=terms.term_id
  WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product')

И будет вам счастье. Только резервную копию нужно не забыть сделать!

 

Ошибки php через htaccess

Директивы  error_reporting и display_errors определяют, каким образом будут обрабатываться возникающие ошибки.
В момент настройки сайта  бывает важно увидеть, какие возникают ошибки. После отладки вывод ошибок обычно отключают по причинам безопасности, а также для того, чтобы появляющиеся уведомления не портили дизайн сайта.

Директива  error_reporting определяет, какие ошибки и уведомления показывать. Например, только критические или все.
Директива display_errors определяет выводить их на экран или нет. (Другая альтернатива — складывать ошибки в отдельный файл.)

Директивы можно задать в файле .htaccess или в самом php-коде с помощью ini_set(). Параметр, заданный в php-коде, переопределит значение, заданное в .htaccess.

Чтобы включить вывод  ошибок php, необходимо в .htaccess файле указать

php_flag display_errors on
php_flag display_startup_errors on

Чтобы выключить вывод ошибок php, необходимо установить:

php_flag display_errors off
php_flag display_startup_errors off