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

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

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

Работа с CRON в CMS WordPress

CMS WordPress

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

add_filter('cron_schedules', function ( $schedules ) {
	$schedules['10sec'] = array(
		'interval' => 10,
		'display'  => __('Every 10 sec'),
	);
	return $schedules;
});

add_action('init', function(){
	if(!wp_next_scheduled('post_event_cron_action'))
	{
		wp_schedule_event( time(), '10sec', 'post_event_cron_action');
	}
});

add_action('post_event_cron_action', function () {
	echo 'Mail sent';
	mail('test@example.com', 'Test subject', 'Test body');
});

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

Как в WordPress получить свой тип записей отфильтровав по нужной таксономии

CMS WordPress

Для того что бы в ВордПресс получить свой тип записей отфильтрованных по кастомной таксономии (или существующей), воспользуйтесь следущим снипеттом:

$Posts = get_posts(array(
	'post_type' => 'my-post-type',
	'order' => 'ASC',
	'tax_query' => array(
	array(
			'taxonomy' => 'my-taxonomy',
			'field' => 'slug',
			'terms' => 'event'
		)
	),
	'meta_query' => array(
		'AND',
		array(
			'type' => 'NUMERIC',
			'key' => 'event_date',
			'compare' => '<', 'value' => time()
		),
		array(
			'type' => 'NUMERIC',
			'key' => 'is_archive',
			'compare' => '==',
			'value' => 0
		)
	)
));

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

Как создать дочернюю тему в WordPress

Как создать дочернюю тему в WordPress

Здравствуйте, уважаемые читатели блога!

Сегодня, рассмотрим стандартную статью для большинства блогов посвященных WordPress — создание дочерней темы.

Для чего же нам может понадобится создание такой темы:

  1. Нам нужно изменить дизайн некоторых страниц блога, не затрагивая остальной функционал темы.
  2. Нам нужно изменить функционал какой-то определенной страницы — к примеру главной или формы комментирования.
  3. Нам нужно добавить новый функционал.

Да, конечно, все эти манипуляции мы можем производить и в текущей теме. Если она разработана нами или написана на заказ. Но если вы используете тему из репозитория WordPress, то лучше будет вносить изменения в дочернюю тему. Т.к. при правке родительской темы, и последующем ее обновлении, все ваши изменения буду удалены.

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

Программное создание страниц в WordPress и их отображение

Программное создание страниц в WordPress и их отображение

Здравствуйте, уважаемые читатели блога!
Сегодня мы затронем еще одну важную тему, а именно — программное создание страниц в WP движке. А так же их отображение по заданному URL.

На первый взгляд, подобная функция может показаться совершенно не нужной. Но! Что если на странице просмотра плагина, нужно добавить текстовую информацию? Да, здесь мы можем реализовать наш плагин (к примеру форму обратной связи) в виде шорткода, и вставить его в текст страницы. Но ведь бывают ситуации, когда одним шорткодом не отделаешься. И нужно разрабатывать отдельную страницу, отображая на ней как форму (к примеру регистрации или заказа) так и текстовое пояснения к ней. И очень важно, что-бы этот текст можно было редактировать через админку. Почему? К примеру, если это страница с формой заказа, то текст пояснения может содержать информацию о текущей скидке. Которая может меняться в зависимости от сезона года или других предпочтений заказчика. Суть думаю понятна и задача ясна (или прошу к комментариям).
Читать далее...

Взаимодействие плагина с базой данных WordPress. Часть 2

Взаимодействие плагина с базой данных WordPress. Часть 2

Продолжаем цикл статей по работе с базой данных в WordPress. И сегодня, мы поговорим о создании, обновлении, удалении и получении данных из БД. Сразу хочу обратить ваше внимание на то, что мы будет работать не с системой таблицей WordPress, а со своей.
Дамб этой таблицы находится ниже:

CREATE TABLE IF NOT EXISTS `wp_plance_text_shortcodes` (
  `sh_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `sh_title` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sh_code` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sh_description` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `sh_is_lock` tinyint(1) unsigned NOT NULL,
  `sh_date_create` int(10) unsigned NOT NULL,
  PRIMARY KEY (`sh_id`)
) ENGINE=InnoDB;

Такую структуру, на данный момент имеет таблица моего плагина «My Text Shortcodes». При желании, вы можете скачать этот плагин с этой страницы.

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