реклама

Едно от предимствата на използването на WordPress е нейната голяма гъвкавост. Не е само за публикации и страници: персонализираните типове публикации могат да разширят основните функции на почти всичко.

Нека да разгледаме днес какво бихте могли да направите с персонализирани типове публикации, както и бърз практически пример за това как да създадете списък на събитията с помощта на персонализиран тип публикация, наречен Събитие.

Забележка: Този урок трябва да се разглежда само за образователни цели, така че можете да научите кода, използван за създаване на персонализирани типове публикации. Ако всъщност искате страхотни събития, включващи плъгин за вашия WordPress сайт, опитайте Календар на събитията, която е добре развита и безплатна.

Какви са персонализирани типове публикации в WordPress?

Обикновено сайтът на WordPress се състои от два вида съдържание: датирани в блогове и статични страници. Повечето от нас, които имат настройте блог на WordPress Настройте своя блог с WordPress: The Ultimate Guide

instagram viewer
Искате да започнете свой собствен блог, но не знаете как? Погледнете WordPress, най-мощната блог платформа, налична днес. Прочетете още са запознати с факта, че страниците трябва да се използват за неща като „За мен“ или „Контактна информация“, докато редовни публикации отиват във вашия блог.

Но освен това, какво ще стане, ако искате да добавите друг специален вид съдържание, което всъщност не се вписва в хронологичния ред на блога и със сигурност не е статично? Именно там влизат персонализирани типове публикации.

Доста често срещана заявка за клубни или групови сайтове е да има някакъв календар на събитията. Едно решение, което би могло да се приложи, е да се създаде отделна категория събития на публикации. Проблемът с това е, че те ще бъдат показани в основната времева линия на блога и наистина трябва да разделим двете концепции изцяло.

За тази цел нека създадем нов тип публикация, наречен събитие, който ще има свой отделен раздел на администраторския интерфейс.

Как да създадете потребителски тип публикация в WordPress

Ще направим това, като коригираме директно файловете ви с теми. Можете да постигнете същия ефект чрез плъгин, но за да демонстрирате концепцията и практиката, е просто по-лесно да ги напишете директно. Ако не ви е удобно да правите това, помислете да използвате Моят плъгин за персонализирани функции, което ви позволява да добавяте код неразрушително.

Моите персонализирани функции

Отворете темите си functions.php файл, съхраняван в папката с теми вътре WP-съдържание / теми; или използвайте приставката My Custom Functions, която ще намерите Настройки > PHP Inserter. В края на файла добавете този код:

добавяне ('init', 'events_init'); функция events_init () {$ args = array ('labels' => array ('name' => __ ('Събития'), 'singular_name' => __ ('Събитие'),), 'public' => true, 'has_archive' => true, 'rewrite' => array ("slug" => "събития"), 'support' => масив ('миниатюра', 'редактор', 'заглавие', 'потребителски полета')); register_post_type ('събития', $ args); }

Не забравяйте да направите това преди затварящия php (?>), ако има такъв във вашия functions.php файл.

Отделете малко време, за да прочетете кода. Декларира някои свойства (като етикети за интерфейса) и как трябва да се обработят URL адресите (пренаписва), както и какви функции поддържа този тип пост. Можете например да добавите персонализирано поле към вашия персонализиран тип публикация със свойството support.

В този случай декларирахме нашия тип събитие, за да поддържаме миниатюри, редактор на съдържание за описанието на събитието, заглавие на събитието и персонализирани полета. Ние също добавихме has_archive, така че придвижването до страницата със събития ще изведе архив на всички събития, подобно на блог.

Това е всичко, сега ако запазите темата си и презаредите блога си, като приемем, че нямате грешки, сега трябва да видите нов раздел за събития в страничната лента на вашия администратор. Супер!

Забележете как текущата ми тема се възползва максимално от персонализираните типове публикации за всякакъв вид допълнителни функции в администратора.

Добавете някои примерни събития сега.

Две страхотни партита бяха добавени към списъка със събития!

След това, тъй като това е събитие, създайте персонализирано поле, наречено дата да посочи кога ще се случи събитието. употреба мм / дд / гггг формат.

Създаване на персонализирано поле за дата, което да показва кога действително ще се случи събитието

Имайте предвид, че трябва да използваме персонализирани полета, за да определим действителната дата на събитието, а не датата на публикацията, тъй като датата на публикацията представлява, когато известието е публикувано. Тъй като вероятно ще добавяте събития, които ще се случат в бъдеще, определянето на датата на публикуване на действителната дата на събитието би било безполезно.

Ако се опитате да видите събитието в този момент, може да получите грешка 404. Това е така, защото WordPress трябва да регенерира вашата структура с Permalink URL адреси, за да отчита този нов тип публикация. Насочете се към Настройки> Препратки страница и натиснете отново запазване.

Вече трябва да можете да преглеждате отделните публикации на събитието. Обърнете внимание, че първата част на URL адреса, след името на вашия домейн, е /events/. Избрахме това в този ред код:

'rewrite' => array ("slug" => "събития"),

Персонализирайте страницата с списъци със събития

Сега, когато имате всички тези фантастични събития във вашия блог, би било хубаво всъщност да ги изброите някъде. За целта ще създадем специален шаблон на страницата, така че след това можете да добавите тази страница към обикновените си елементи в менюто, заедно с About или Contact.

Тъй като вече уточнихме, че типът на публикацията на събитието трябва да има архив, можете да продължите и да видите какво е по подразбиране, като посетите /events/. В стандартната тема за двадесет и седемнадесет на моя тестов сайт, получих това:

Страница с архив, показваща събития

Персонализирането на този изход ще зависи от това каква тема използвате и покриването на цялата система за шаблони на WordPress е извън обхвата на тази статия. Въпреки това, в името на този урок, предполагам, че използвате двадесет и седемнадесет.

Започнете, като създадете копие на archive.php, и го преименувайте на архив-events.php. Това е стандартна конвенция за именуване това означава, че WordPress автоматично ще използва този шаблон за показване на архива за типа публикация на събитията.

След проучване на файла двадесет и седемнадесет автори са предоставили механизъм за формат на публикации, който е твърде сложен за нашите нужди:

/* * Включете специфичен за Post формат шаблон за съдържанието. * Ако искате да отмените това в детска тема, след това включете файл. * наречено съдържание -___. php (където ___ е името на Формат на публикацията) и това ще се използва вместо това. */ get_template_part ('шаблон-части / публикация / съдържание', get_post_format ());

Забележка: Препоръчва се детска тема, тъй като всяка актуализация на оригиналната тема ще презапише промените ви. Това Статия за поддръжка на WordPress описва процеса на създаване на детска тема за двадесет и седемнадесет. За краткост просто ще работя върху оригиналната тема и не ми пука дали работата ми се губи в по-късна актуализация.

Изрежете целия блок и вместо това го поставете. Това е просто опростено копие на това, което има в тези шаблони за публикации, за да научите:

Ако запазите и визуализирате страницата със събития отново, ще забележите, че сега има дати. Но те грешат Понастоящем показват датата на публикуване вместо датата на събитието. Като последна стъпка, нека да променим това към действителната дата, на която ще се проведе събитието. Намерете бита, който генерира времето, twenty_seventeen_time_link (), и го заменете със следното:

дата ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'date', true)))

Това е получаването на датата от зададеното от мен мета поле, след което използваме PHP дата() функция, за да го форматирате до нещо по-четимо.

Архив с дати

Следващи стъпки?

Ако не сте доволни от текущия си уеб хост, силно препоръчваме да използвате управляван хост на WordPress като WP двигател, които ние самите използваме за нашите сестри сайтове. В противен случай InMotion хостинг предлага планове на достъпни цени, които са дори по-евтини с нашата специална отстъпка, когато използвате тази връзка.

След това обърнете внимание, че когато създадохме типа публикация на събитието, ние кодирахме поддръжката на вече представени миниатюри. Използвайте нашето ръководство за включени изображения и миниатюри Пълното ръководство за Препоръчани миниатюри и размери на изображенията в WordPressЕто всичко, което трябва да знаете за размерите на изображенията в WordPress и за управление на представените изображения. Прочетете още за да вземете и покажете чертано изображение в архива на списъка на събитията.

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.