DB

Яка різниця між posts_per_page та numberposts у WordPress
Яка різниця між posts_per_page та numberposts у WordPress

Цей пост написаний як для себе, так і для тих, хто колись замислювався — у чому ж різниця між параметром “numberposts” та “posts_per_page”, які передаються у функцію get_posts як аргументи.
Сам я іноді згадую, у чому відмінність, і в різних місцях використовую то один, то інший варіант.

читати далі...

Як у WordPress вивести пости відсортовані за останніми коментарями
Як у WordPress вивести пости відсортовані за останніми коментарями

У WordPress є універсальна функція «get_posts», але, на жаль, вона не підходить у 100% випадків. Іноді, щоб отримати потрібний результат, доводиться формувати SQL-запит вручну. Я не дуже люблю це робити, оскільки мені невідомі всі тонкощі та нюанси внутрішньої роботи WP (де і в яких випадках краще застосовувати фільтри). Але задачу потрібно реалізувати — отже, доводиться писати власний 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» у хукy «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();