WordPress

Як у WordPress зберегти опції у БД
Як у WordPress зберегти опції у БД

Одним з найпростіших способів зберігання даних у WP є збереження даних у базі даних, у таблиці опцій — «wp_options». Зазвичай у цю таблицю зберігають дані плагінів або тем, які не належать до жодних мета-значень (постів, користувачів чи таксономій).

Для взаємодії з цією таблицею, рушій WordPress надає низку готових функцій та фільтрів.

Розглянемо невеликий приклад роботи:

$option_key = 'my_option_var';

echo "<b>get_option</b>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

echo "<b>get_option + default value</b>";
$result = get_option($option_key, 'default_value');
var_dump($result);
echo "<hr>";

echo "<b>add_option with string</b>";
$result = add_option($option_key, 'option_value', '', false);
var_dump($result);
echo "<hr>";

echo "<b>get_option</b>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

echo "<b>update_option with array</b>";
$result = update_option($option_key, array(
	1 => 'One',
	'Two' => 3,
	'Three' => 'Three',
));
var_dump($result);
echo "<hr>";

echo "<b>get_option</b>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

echo "<b>delete_option</b>
";
$result = delete_option($option_key);
var_dump($result);
echo "<hr>";
die;

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

Як створити таблицю у БД 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()};");	
});

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

Як вимкнути фільтр за датами у постах або своїх типах записів
Як вимкнути фільтр за датами у постах або своїх типах записів

Іноді трапляються ситуації, коли в кастомних типах записів (створених за допомогою функції 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
Як автоматизувати рутинні завдання WordPress за допомогою консольної утиліти wp-cli

Важлива «не новина» для розробників сайтів на WordPress. А ви знали про таку консольну утиліту як «wp-cli»? Сам давно працюю з WP, але дізнався про неї буквально пів року тому.

wp-cli — це чудова річ для розробників, у яких купа WP сайтів на локальній машині (та не лише локальній). Wp-cli дозволяє працювати з WordPress через консоль, тим самим мінімізуючи ваші часові витрати на встановлення рушія, його оновлення, а також встановлення тем і плагінів до нього разом з їх оновленням.
Чесно скажу, глибоко не вивчав її можливостей, але опишу лише базові функції та можливості.

Встановлення

Усі дії будуть описані для ОС 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 код
Як до WordPress додати довільний JavaScript код

Розробляючи один із проєктів на 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")' );
});

Що ми тут робимо:

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