Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
Теми
Уроки
Хакі

Кілька років тому, коли я тільки починав створювати плагіни для WordPress, я зіткнувся з однією дуже цікавою невеликою вправою, яка навчила мене основ створення плагінів. Я почав з дуже простої ідеї: створити зручний маленький плагін, який випадково генерує цитату для опису поточної теми. Сьогодні я повернуся до плагіна, який допоміг мені, провівши вас, друзі, за процесом його створення.

Мінімальні знання, необхідні для цього посібника – базові знання PHP (Це призначено для початківців, які хочуть зайнятися розробкою плагінів).

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Мета цього уроку: створити плагін, який випадково генеруватиме цитату при кожному перезавантаженні сторінки. Після того, як плагін буде активований у розділі Плагіни, він буде тихенько працювати. Він не створює ніяких зайвих файлів, тому нам не потрібна буде процедура деінсталяції плагіна.

Крок 1. Базова інформація про плагін

Наступні рядки коду повідомляють WordPress про те, що ви створюєте "плагін". В принципі все, що WordPress вимагає - ім'я плагіна. Порядок рядків не важливий, але ви помітите багато знайомого в цій "шапці", якщо ви створювали шаблон сторінки або тему. Файл має бути у кодуванні UTF-8.

/*
Plugin Name: Adam's random quote
Version: 0.1
Plugin URI: http://burucs.com
Description: Replaces the site's description with a random quote
Author: Adam Burucs
Author URI: http://burucs.com
*/

Крок 2. Функція генерації

Наша перша функціональна частина коду – функція генерації. Вона складається з локального одновимірного масиву, заповненого різноманітними цитатами, і наприкінці ми випадково вибираємо цитату. Для цього ми використовуємо вбудовану PHP функцію рядок. Зверніть увагу, що початкове та останнє значення входить у діапазон для генерування.

Відповідно до докладних стандартів розробки WordPress, ми повинні використовувати наступне правило в назвах: дві маленькі букви-монограми автора та абревіатура імені плагіна.

function ab_arq_generate() {  
    $quotes = array(  
        'Silence is golden.',  
        'Nothing is what it looks like.',  
        'Make everything right!',  
        'Better late than never.',  
        'Seeing is believing.'  
    );  
  
    return $quotes[rand(0, count($quotes)-1)];  
}

Крок 3. Функція, яка замінює стандартний опис цитатою

У цьому блоці ми використовуємо допоміжну функцію, яка видаляє те, що було записано перед функцією ядра.

function ab_arq_change_bloginfo( $text, $show ) {  
    if( 'description' == $show ) {  
        $text = ab_arq_generate();  
    }  
    return $text;  
}

Крок 4. Використання системи фільтрів

Система фільтрів – важливий принцип у фундаментальному світі WordPress. Фільтри – це функції, за які ваш плагін може зачепитися, щоб змінити дані. У нашому випадку, за допомогою цієї можливості, ми перевизначаємо стандартний опис поточної теми. Нам потрібно використати функцію bloginfo.

add_filter( 'bloginfo', 'ab_arq_change_bloginfo', 10, 2 );

Крок 5. Повний код

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

/* 
Plugin Name: Adam's random quote 
Version: 0.1 
Plugin URI: http://burucs.com 
Description: Replaces the site's description with a random quote 
Author: Adam Burucs 
Author URI: http://burucs.com 
*/  
  
function ab_arq_generate() {  
    $quotes = array(  
        'Silence is golden.',  
        'Nothing is what it looks like.',  
        'Make everything right!',  
        'Better late than never.',  
        'Seeing is believing.'  
    );  
  
    return $quotes[rand(0, count($quotes)-1)];  
}  
  
function ab_arq_change_bloginfo( $text, $show ) {  
    if( 'description' == $show ) {  
        $text = ab_arq_generate();  
    }  
    return $text;  
}  
  
add_filter( 'bloginfo', 'ab_arq_change_bloginfo', 10, 2 );

Крок 6. бонусний рада

Я показав вам основи для створення цього плагіна, але ви можете розширити його у різний спосіб, якщо захочете.

Наприклад: якщо нам потрібно буде більше цитат? Ми можемо вибрати один із варіантів.

Перший: ми можемо створити додатковий php файл з масивом і включити його в плагін.

Другий: використовувати певну таблицю бази даних

Третій: отримати дані від віддаленого сервера (трохи більше можливостей у розробці).

Зверніть увагу, що якщо ви оберете варіант з окремою таблицею, вам потрібно створити хорошу, окрему функцію видалення у плагіні.

Джерело: WP.tutsplus.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 4

Гість:

За фактом плагіна немає. Купа міркувань, 0 файлів.

Сергій Янг:

хотілося б побачити його в дії, для початку ))

Рапід:

зайшов за плагіном - пішов без плагіна.

Андрій:

Спробуйте ось цей плагін: XmasB Quotes. Особисто я ним і користуюся.

Додати коментар або відгук