DB

Какая разница между posts_per_page и numberposts в WordPress
Какая разница между posts_per_page и numberposts в WordPress

Пост написан как для себя, так и для тех кто задавался вопросом - в чем отличие параметра “numberposts” от “posts_per_page”, передаваемого функции get_posts в качестве аргумента.
Я сам иногда вспоминаю в чем же отличие, и в разных местах использую то один вариант, то другой.

читать полностью...

Как в WordPress вывести посты отсортированные по последним комментариям
Как в WordPress вывести посты отсортированные по последним комментариям

В WP есть универсальная функция «get_posts», но она к сожалению не подходит во всех 100% случаях. Иногда, что бы получить нужный результат, приходится формировать SQL запрос вручную. Я не особо люблю этого делать, т. к. всех тонкостей и нюансов подкапотной работы ВП мне не известны (где и в каких случаях лучше вставлять нужные фильтры). Но задачу реализовать нужно, и приходится создавать свой SQL.

читать полностью...

Как установить подключение к БД в фреймворке Yii2
Как установить подключение к БД в фреймворке Yii2

Простая и тривиальная задача с которой может столкнуться начинающий Yii2 разработчик. Начнем с того, что в зависимости от конфигурации проекта, БД может настраиваться по разному. Возьмем два варианта, которые предоставляет нам см фреймворк:

  1. basic (простой вариант)
  2. advanced (продвинутый вариант)

В обоих из вариантов, настройка БД (указание префикса/tablePrefix, имя/username, пароля/password, dsn и прочего) выполняется одинаково. Все зависит от месторасположения файла и «коннектор» класса работы с БД. В нашем примере мы будем рассматривать вариант взаимодействия с базой данных MySQL, как с одной из самых популярных.

Если брать basic, то конфигурационный файл подключения, можно найти по адресу - «/config/db.php».

С advanced вариантом, немного посложнее (на то он и продвинутый, т. е. для крупных проектов). Здесь может быть более одного файла настроек БД (для разделов — backend, frontend, пр.). Все зависит от того, как изначально вы сконфигурировали свое приложение. Так как админка и пользовательская часть зачастую взаимодействуют с одной базой, то файл настроек я обычно помещаю в каталог - «/common/config/db.php». А в конфиге «/common/config/main.php», прописываю доступ к выше упомянутому. Таким образом и в backend, и в frontend, подключение к БД автоматически «подтянется».

читать полностью...

Как создать таблицу в БД WordPress
Как создать таблицу в БД  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()};");	
});

читать полностью...

Как получить SQL запрос текстом в Yii2
Как получить SQL запрос текстом в Yii2

Казалось бы, простая и тривиальная задача. Но пришлось немного покопаться в коде и доках.
И так, что бы получить "чистый" SQL запрос который в последствии будет передан в БД на выполнение, достаточно использовать следующий код:

echo $Query -> select('*')
-> from('{{%authitem}}') -> createCommand() -> getRawSql();