Разработка сайтов на WordPress и фреймворке Yii2

Здесь вы можете заказать полный пакет услуг по разработке сайта. Начиная от написания ТЗ до программирования на PHP, JavaScript и верстке.

Как отключить фильтр по датам в постах или своих типах записей

CMS WordPress

Встречаются ситуации, когда в кастомных типах записей (создаваемых посредством функции register_post_type()), или уже существующих записей типа — post или page. Нам нужно отключить (убрать) отображение фильтра данных по датам. Это такой выпадающий список датами (месяц и год) когда были созданы записи на нашем сайте.
Поиск по официальной документации мало к чему привел, поэтому пришлось изучать код и находить нужные мне фильтры. Был найден фильтр «disable_months_dropdown», принимающий два параметра — состояние отображение выпадающего списка и тип записи страницы.
Пример использования фильтра:

add_filter('disable_months_dropdown', function($bool, $post_type) {
	if($post_type == 'type_order')
	{
		return true;
	}
	return $bool;
}, 1, 2);

где:
$bool — отображать или не отображать выпадающий список с датами (по умолчанию false, т. е. работа нашего фильтра отключена и даты будут отображаться)
$post_type — текущий тип записи.
Хочу обратить ваше внимание, что к текущему типу записи можно обратиться так-же через ф-ю «get_current_screen()» и ее свойство «post_type». Т.е.

get_current_screen() -> post_type

И что-то мне подсказывает, что аналогично должен отключаться фильтр по категориям (нужно будет проверить).

Как автоматизировать рутинные задачи в WordPress с помощью консольной утилиты wp-cli

CMS WordPress

Важная «не новость» для разработчиков сайтов на WordPress. А Вы в курсе о такой консольной утилите как «wp-cli»? Сам давно работаю с WP, но о ней узнал буквально пол года назад.

wp-cli — это чудо вещь для разработчиков имеющих кучу WP сайтов на локальной машине (да и не только локальной). Wp-cli, позволяет работать с вордпрессом через консоль, тем самым минимизирую Ваши временные усилия на установку движка, его обновление, а также установку тем и плагинов под него с их обновлениями.
Скажу честно, глубоко не изучал ее возможностей, но опишу лишь ее базовые функции и возможности.

Установка

Все действия будут описаны для среды ОС Linux.
Скачиваем на свою машину phar архив с утилитой:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Устанавливаем права на выполнение:

chmod +x wp-cli.phar

Копируем файл в каталог с нашими программами (ведь нам нужен доступ с любой точки файловой системы):

sudo mv wp-cli.phar /usr/local/bin/wp

Читать далее...

Как в WordPress добавить произвольный JavaScript код

CMS WordPress

Разрабатывая один из проектов на WP, потребовалось добавить немного JS кода. Обычно, для подобных целей я использую отдельные скриптовые файлы. Но в данном случае, кода будет не так уж и много, что я решил разместить его в html «теле» документа.
Для этого, используйте следующий PHP код:

add_action('wp_enqueue_scripts', function(){
	if(!wp_script_is( 'jquery', 'done' ))
	{
		wp_enqueue_script( 'jquery' );
	}
	wp_add_inline_script( 'jquery-migrate', 'alert("Hello")' );
});

Что мы здесь делаем:

Читать далее...

Как удалить элемент массива по значению

Программирование на PHP

Казалось бы довольно тривиальная задача, и нужная ф-я должна быть встроена в ядро PHP, но нее к сожалению нет. И приходится находить свои решения для реализации данного функционала. Одно из решений удаления элемента массива по его значению приведено ниже:

if(($delete_key = array_search($search_value, $my_array)) !== false)
{
	unset($my_array[$delete_key]);
}

Можно сказать две строки — и функционал готов.

Читать далее...

Как посчитать количество секунд до конца дня на PHP

Программирование на PHP

Т.к. подобной функции на PHP не существует, пришлось написать свою реализацию:

function get_seconds_to_midnight()
{
	$left_day_hh = 23 - intval(date('H'));
	$left_day_mm = 59 - intval(date('i'));
	$left_day_ss = 60 - intval(date('s'));
	
	return 3600 * $left_day_hh + 60 * $left_day_mm + $left_day_ss;
}

Читать далее...