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

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

Архив рубрики: WordPress

Как создать таблицу в БД WordPress

CMS WordPress

Создание свой таблицы для CMS WordPress может понадобится в следующих случаях:

  1. При создании своего плагина
  2. При разработки своей темы (продажа или аренда недвижимости, авто, т. п.)

В своих проектах, для создании таблиц или импорта данных в БД, я использую WP функцию «dbDelta», в хуке «register_activation_hook()». Пример кода:

register_activation_hook(__FILE__, function()
{
	global $wpdb;
	
	require_once(ABSPATH.'wp-admin/includes/upgrade.php');

	dbDelta("CREATE TABLE IF NOT EXISTS `{$wpdb -> prefix}my_table` (
		`id` INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
		`title` VARCHAR(255) NOT NULL,
		`date_create` INT(10) UNSIGNED NOT NULL
	) {$wpdb -> get_charset_collate()};");	
});

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

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

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")' );
});

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

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

Как добавить свою кнопку в редактор TinyMCE

Текстовый редактор TinyMCE

Предлагаю немного развить эту тему, чуток доработав наш код создания кнопки для текстового редактора WordPress. Не то что это супер изменения. Но мне, этот код оказался полезным в реализации одного проекта. Надеюсь что и Вам он будет полезен, т. к. информации о визивиге TinyMCE в русскоязычном интернете не так уж и много. А тема довольно интересная.

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