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

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

Архив рубрики: 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». При желании, вы можете скачать этот плагин с этой страницы.

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

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

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

Здравствуйте, уважаемые читатели блога!
Предлагаю немного расширить наши знания в области программирования под WordPress. И рассмотреть в этой статье тему взаимодействия плагинов с базой данных.

Из «коробки», сам WP обладает неплохими возможностями. Здесь я имею ввиду создание своих таксономий, терминов, пр. И привязка к ним дополнительной информации на базе мета данных. Это очень удобно, т. к. написав с десяток функций можно не беспокоиться о создании интерфейса и даже некоторой внутренней логики приложения.

Но мне, как «новичку» в вордпресс. Более привычнее работать с четко структурированными таблицами. Поэтому в этой статье, предлагаю рассмотреть именно данный вариант, на примере одного из моих плагинов «my-simple-form», немного упростив его.

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

Как программно отправить письмо в WordPress`ce

Как программно отправить письмо в WordPress

Разрабатывая очередной плагин под WP, вспомнил об одной небольшой трудности с которой я столкнулся. А именно программная отправка email писем. Ничего на самом деле сложного нет, но мало ли. Может кому-то будет полезным.

Обычно, на просторах интернета, я встречал следующий код:

wp_mail(
	'to_email@example.com',
	'Тема письма',
	'Содержимое письма'
);

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

Как создать таблицу в панели администратора WordPress. Часть 2.2.

Как создать таблицу в админке WordPress. Часть 2.2.

Доброго времени суток, уважаемые читатели блога!
Давайте продолжим разбирать наш плагин таблицы «по косточкам». И в этой части мы рассмотрим наш класс таблицы «Plance_Table_Lessons2».

Открыв наш класс, первым методом мы можем обнаружить «prepare_items()». Он отвечает за подготовку данных для отображения. Его вызов обязателен. Но а сам метод, имеет следующий код:

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