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

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

З точки зору веб-дизайну та розробки, у вас є необмежені можливості при роботі з WordPress. Ви можете створити агрегатор новин, краудфандингову платформу, продавати квитки на перший концерт своєї групи, розміщувати свої витвори мистецтва у віртуальній галереї тощо.

Також можливо створити аналог Вікіпедії, імітуючи її функції, наприклад, Зміст або перехресні посилання.

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

Знайомство зі виносками

Один професор університету хотів опублікувати кілька своїх статей онлайн. Він мав невелику домашню сторінку, і він вирішив, що настав час перемістити свій контент на повноцінний сайт, почувши, що WordPress — це саме та платформа, яка відмінно підійде як система управління контентом.

Додаємо виноски до тексту в WordPress, використовуючи шорткоди та довільні поля

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

Подібні плагіни для створення виносок вже є, але можна спробувати створити власний, ніж ми сьогодні й займемося.

 Завантажити готовий плагін

Створення плагіна для виносок у WordPress

Процес створення плагіна буде досить простим навіть для новачків. Він включає в себе:

  • створення файлу плагіна
  • створення шорткоду
  • кодування функції футера
  • створення ще однієї функції, яка додає виноски до записів за допомогою the_content.

Нічого складного, правда?

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

1. Файл плагіна

Якщо ви ознайомлені з плагінами (це стосується їх створення та розуміння, що таке вихідний код), то знаєте, що ми повинні розпочати код нашого плагіна з наступної інформації у шапці:

<?php
 
/**
 * Plugin Name: Footnotes Shortcode (by Tuts+ Code)
 * Plugin URI: https://github.com/barisunver/tuts-footnotes/
 * Description: A simple plugin utilizing shortcodes and custom fields to create footnotes in your articles.
 * Version: 1.0
 * Author: Baris Unver
 * Author URI: http://tutsplus.com/authors/baris-unver
 * License: GPL2
 */
 
?>

Рядки в цьому коді досить читальні, тому ми не будемо зупинятися на їхнє пояснення.

Хоча кілька порад все ж таки є:

  • Єдиний обов'язковий рядок — це «Назва плагіна», решта ж не є такими, хоч і досить корисні.
  • Можна використовувати простий HTML-код у рядку «Опис».
  • Є ще й іншіheader names(назви шапок), які можна знайти на сторінці Заголовок файлу у Codex.

З шапками ми закінчили, тепер перейдемо до створення шорткоду.

2. Шорткод

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

<?php
 
function footnotes_sc( $atts ) {
 
    extract( 
        shortcode_atts(
            array(
                'id' => '1',
            ), 
        $atts )
    );
 
    return '<a href="#ref-' . $id . '" rel="footnote"><sup>[' . $id . ']</sup></a>';
     
}
 
add_shortcode( 'ref', 'footnotes_sc' );
 
?>

Як бачите, код справді дуже і дуже простий. І ось, що ми зробили:

  • Створили функцію під назвою footnotes_sc.
  • Створили лише один параметр під назвою id (зі стандартним значенням «1») і перетворили його на змінну з функцією екстракт ().
  • Ми зробили повертати (Вернули) простий рядок з посиланням на відповідну виноску.
  • І, нарешті, ми встановили шорткод під назвою [посилання] та прив'язали до нього функцію footnotes_sc().

Тепер щоразу, коли ми будемо використовувати шорткод [ref id="X"] (де Х – це ID виноски), WordPress робитиме виноску [1].

3. Функція виноски

Для того, щоб створити саму виноску, нам потрібно використовувати довільні поля у редакторі записів WordPress. Функція, вказана нижче, не є «просунутим кодом», але оскільки він трохи довгий, ми розглянемо його покроково:

<?php
 
// create the function with some arguments
function make_footnotes( $title = '', $titletag = 'h3', $listtag = 'ol' ) {
 
    // set the title to a translatable string ("Footnotes") if no title is specified
    if( '' == $title ) {
        $title = __( 'Footnotes', 'tuts-footnotes' );
    }
 
    // create an empty array to avoid any PHP notices
    $footnotes_array = array();
     
    // get the results of each custom field named "ref-X",
    // where X must be a number from 1 to 100,
    // and add them to $footnotes_array
    for( $i = 1; i <= 100; $i++ ) {
     
        $get_post_meta = get_post_meta( get_the_ID(), 'ref-' . $i, true );
         
        if( '' == $get_post_meta ) {
            break;
        } else {
            $footnotes_array[] = array( 'ref-' . $i => $get_post_meta );
        }
         
    }
     
    // if the $footnotes_array is NOT empty...
    if( count( $footnotes_array ) > 0 ) {
     
        // ...start the $output variable with a DIV...
        $output  = '<div class="tutsplus-footnotes">';
         
        // ...use the default values of our function's arguments
        $output .= '<' . $titletag . '>' . $title . '</' . $titletag . '>';
        $output .= '<' . $listtag . '>';
         
        // list the footnotes with corresponding reference IDs
        foreach( $footnotes_array as $footnote ) {
         
            foreach( $footnote as $ref_id => $footnote_content ) {
                $output .= '<li id="' . $ref_id . '">' . $footnote_content . '</li>';
            }
             
        }
         
        // close the HTML tags
        $output .= '</' . $listtag . '>';
        $output .= '</div>';
    }
     
    // and return the $output variable if it's a single post or page
    if( is_singular() ) {
        return $output;
    }
     
}

Якщо говорити коротко, то ми зберегли мета-дані посту, заповнили змінну $ вихід шляхом перетворення виноски в список HTML, і повернули $ вихід. Простіше простого.

Використання плагіна для виносок

Використовувати плагін для виносок досить просто. Якщо ви додасте довільні поля під назвою ref-1ref-2, ref-3 і так далі, то розділ «Виноски» («Примітки») з'явиться відразу після вашої статті. І ми вже розглянули, як використовувати шорткод, тому це все, що вам потрібно зробити.

Підіб'ємо підсумки

Тепер, коли ми маємо функцію, яка повертає HTML-список виносок, настав час додати цей список під статтями!

<?php
 
function print_footnotes( $content ) {
 
    $content .= make_footnotes();
    return $content;
     
}
add_filter( 'the_content', 'print_footnotes' );

Це, мабуть, найпростіша частина коду, тому що нам потрібна лише попередня функція, висновок вихід якої потрібно додати після контенту посту, а потім прикріпити нову функцію the_content до фільтру.

Якщо ви не бажаєте автоматично додавати розділ «Footnotes» («Зноски») під контентом, видаліть ці рядки. Замість цього вам потрібно буде використовувати невелику частину коду у темі, що використовується, як наприклад,?php echo make_footnotes(); ?> там, де має бути виноска статті. Також можна змінити стандартний аргумент функції.

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

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

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