Власні типи записів у Wordpress (v. > 3.0)

13 Липень 2010

Хвалили цю можливість, хвалили, а мануалів шось ніде нема. Тому я вирішив розібратися самостійно.

Отже, всі, хто юзає версію WordPress не нижчу за 3.0, тепер мають змогу:

- створювати власні типи записів та програмувати для них власні типи полів (наприклад, окрім просто постів і сторінок, можна створити свій тип контенту "Товари" з власними полями, скажімо, "Розміри", "Колір", "Ціна" тощо. Хоча в останній можливості, по суті, нічого нового - це давно знайомі нам custom fields, от тільки працювати з ними тепер можна приємніше, "замаскувавши" під дефолтні поля запису)

- створювати для цих записів окремі таксономічні зв'язки. Скажімо, якщо ви створили тип запису "Фільми", то ви можете створити окрему таксономію для цих записів, де те, що ми звикли називати рубриками чи категоріями, називатиметься акторами. Аналог тегів можна використати для позначення років релізу фільмів. Але, чесно кажучи, питання таксономії - не таке просте, і я з ним ще не розібрався в достатньому мірі, тому в даному огляді ми його не розглядатимемо.

Але перейдемо до практики... Я давно мріяв створити власну базу даних географічних точок, так званих waypoints - це якісь цікаві місця, які я відвідав, маючи з собою GPS, та відмітив їх. І було б непогано самими цікавими точками поділитися з іншими! Тож, почнемо!

Створюємо новий тип запису "Точки" (додаючи код, що нижче, у файл funсtions.php вашої теми): ...далі »

Видаляємо зайві блоки в адмінці WordPress

13 Липень 2010

Часто буває, що більшість стандартних блоків в адмін-панелі WordPress не потрібні і просто-напросто муляють око та погіршують навігацію. Наприклад, якщо я маю блог і я єдиний автор цього блогу, мені навряд чи знадобиться блок "Користувачі". Якщо не планую створювати нових сторінок, мені не потрібен блок "Сторінки", також мені ніколи не знадобилися блоки "Медіафайли" та "Посилання" і т.д.

Випадки можуть бути різними, рішення одне: в файл functions.php вашої теми додаємо: ...далі »

Переклад BuddyPress 1.2.4.1 українською

10 Червень 2010

Нарешті я це зробив!

BuddyPress перекладено українською!

Можливо, ще є певні неточності (наприклад, пропущені, переставлені букви в словах тощо), але я готовий працювати над його поліпшенням!

Висловлюю велику вдячність В'ячеславу ака SlaFFik за допомогу і технічні консультації!

Отже, кому треба, беремо: ...далі »

Простий веб-магазин (на прикладі WordPress)

5 Березень 2010

Одразу попереджаю, це не аяксова "корзина", яка вміла б складувати товари, розраховувати підсумкову ціну, редагувати замовлення тощо. Мій варіант дуже простий. Але зважаючи на те, що існує багато сайтів. які виконують лише роль каталога товарів, а замовленння в них відбувається шляхом заповнювання звичайної контактної форми (тобто без усіляких "корзин") моя ідея, можливо, видасться власникам цих ресурів доволі цікавою. До того, ж вона чудово підійте для магазинів, які продають унікальні товари (ті, що існують в єдиному екземплярі - наприклад, як це роблять власники сайту Прекрасна.com.ua).

Принцип роботи. На сторінці товару є посилання типу "Замовити". Веде воно на контактну форму. Але посилання не просте, а таке, що при переході на сторінку з контактною формою передає новій сторінці певні дані. Наприклад, код товару. Чи назву. Чи те і інше. А форма вже "ловить" ці дані і виходить, що користувач потрапляє на сторінку з уже заповненою інформацією про замовлення (йому не треба вписувати назву товару, його код, ціну... - все що ви запрограмуєте) і вашому майбутньому клієнту лишається лише додати власні контакті дані. ...далі »

Лікуємо Flexible Upload від матюків :)

31 Серпень 2009

Гарний плагін Flexible Upload, але шкода, що у його автора не вистачає часу оновлювати його синхронно з новими версіями самого WopdPress. Наче й нічого страшного: він лише "матюкається" при роботі (але всеодно її справно виконує) та час-від-часу не підвантажує css... Тож, для тих, кого це дістало... ...далі »

Фільтр для форматованого тексту у WordPress

3 Серпень 2009

Я колись уже писав про get_post у WordPress. Але застосувуючи get_post та get_posts на практиці я зіткнувся з проблемою: тексти постів, що виводяться, втрачали своє форматування. Все виходило якось скопом, без абзаців та іншого форматування. Лише нещодавно до мене дійшло, що "якось же воно чомусь працює нормально при стандартному циклі виводу". Виявляється, треба було просто до змінною, яка містить ваш контент, застосувати вже вбудований у двигунець фільтр, який і слідкує, щоб все було красіва :) :

1
2
3
4
5
$my_id = 347;
$post_id_347 = get_post($my_id);
$content = $post_id_347->post_content;
$content = apply_filters( 'the_content', $content );
print $content;

Трохи оптимізував блог…

17 Квітень 2009

  • За численними "просьбамі трудящіхся" прибрав нафіг прелоадінг, який дратував вас фразою "Чекайте, зара видам! :) " і не давав можливості переглядати сайт, доки сторінка не завантажаться повністю разом з усіма зображеннями.
  • Поставив PHP Speedy, правда не зовсім в ньому розібрався. Чомусь основний css-файл він не доклеїв до згенерованої ним компіляції css-файлів плагінів. Плагін Shutter Reloaded чомусь так і не запрацював. Що ж йому заважає?
  • Optimeze DB не захотів працювати. До речі, не тільки у мене... Замість нього база данних в мене тепер автоматично оптимізуватиметься завдяки WP-DBManager
  • Поставив СSS-compress, який зменшує CSS-файли шляхом видалення коментарів в них та переводить їх в однорядний запис.
  • Почав експеримент з кешуванням. За нього в мене тепер відповідає WP-Super-Cashe версії 0.8.9.

Коротше кажучи, навіть не юзачи усякі утиліти для перевірки швидкості завантаження сайту стало видно, що блог почав працювати швидше. Сподіваюсь, відвідувачі зацінять :)

Перший BuddyPress на Україні?

4 Березень 2009

Цікаво, невже в Україні більше ніхто не цікавиться BuddyPress? Продовжую перетворювати свій проект на своєрідну природоохоронну соціальну мережу на зразок Vkontakte.ru )))

Поки що все страшнувато :) : http://pryroda.in.ua/members/admin/

Але вже автори мого сайту можуть сворювати групи, писати на стінах і обмінюватись повідомленнями! Круто! Далі буде!

Тре тіки локалізацію українську почати робити і дизайн нормальний наваяти...

JavaScript Logic: нарешті у WordPress можна керувати джава-скриптами!

20 Грудень 2008

Одразу скажу - це плагін. І я його ще не випробував. Але, як би там не було, тема для мене (та мабуть не тільки для мене :) ) актуальна і я давно думав над шляхами вирішення проблеми, яка полягає в слідуючому...

Колись давно :) , якщо ви становлювали плагін, що працює за допомогою джава-скриптів, то ви мусили ручками прописувати їх підвантаження в шапці теми. З одного боку незручно, але... добре, по порядку... З певного часу, завдяки появі фунції wp_head(), яка працює по типу API, плагіни тепер самі можуть "дописувати" необхідні їм скрипти. Але це призводить до збільшення розміру сторінки і, як наслідку, часу її завантаження, оскільки не завжди є потреба підвантажувати той чи інший скрипт. ...далі »

GET_POST або вивід посту за межами циклу ("The Loop")

9 Жовтень 2008

Вчора довго розбирався з такими фунціями Wordpress'у, як get_post та get_posts. Зараз коротко розповім про першу у вигляді такої собі нотатки для самого себе :) .

Отже, для того, щоб вивести конкретний пост в будь-якому місці за межами основного циклу, робимо наступне:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// створюємо змінну, яка міститиме номер (id) нашого посту
$odyn_post_id = 2;

// створюємо змінну, яка створює запит посту з потрібним нам номером
$thys_post_id = get_post($odyn_post_id);

// створюємо змінну, яка міститиме заголовок нашого посту
$zagolovok = $thys_post_id->post_title;

// виводимо заголовок потрібного нам посту через змінну
echo '<br /><h2>';
echo $zagolovok;
echo '</h2>';

?>

Наведений код виведе заголовок запису (посту), id якого - 2.
Для того, аби вивести інші атрибути (дата, автор, сам пост) ...далі »