Вордпрес окупљање у Вршцу #WPVŠ 02/19

Добро дошли нa вршачко Вордпрес окупљање!

Фебруарско дружење угостиће двојицу креатора. Један је аутор Вордпрес тема и увешће вас у тајне не само прављења тема, већ и њихове дистрибуције, а други је творац Webiz конференције. Од њега ћете сазнати зашто је заједница толико битна за напредак сваког од нас.

Драган Тодоровић је веб девелопер са вишегодишњим искуством у развијању премиjум Вордпрес и Џумла тема. Поред тога што је основао Themezly.com и YоuJооmlа.com, Драган је lead designer и девелопер за ове premium themes клубове који данас броје преко 110.000 чланова. Његово искуство у свету веб девелопмента ће вам сигурно помоћи у развоју сопствених сајтова.

Драган ће причати о развоју Creatus Вордпрес теме и како вам она може помоћи у развоју Вордпрес веб страница. Такође, сазнаћете шта су multipourpose теме и како их можете искористити да што пре завршите ваше Вордпрес пројекте.

Владимир Ковач је по струци економиста и специјалиста пројектног менаџмента. У пракси, ентузијаста, дигитални еванђелиста, локал патриота, и на крају, али свакако не најмање важно, вршачки зет. Као маркетар је 2010. упловио у свет дигитала, док на пројекту Webiz ради од 2013. године. Само две године касније, Webiz од пројекта прераста у животну пасију, и постаје посао 24/7. Током последњих пет година Webiz је постао најпрепознатљивији бренд када су у питању конференције и пословне едукације на тему IT-а, дигиталног маркетинга и пословне примене интернета.

Како би додатно утицао на развој ИT-а у родном граду Зрењанину, са пријатељима оснива невладину организацију Wеbit, са циљем промовисања интернет културе и унапређивања ИЦТ сектора. Крајем 2016. године изабран је за Председника Извршног одбора новооснованог Зрењанинског ИЦТ кластера. И данас као члан Извршног одбора зрењанинског ИЦТ кластера активно учествује у развоју Зрењанина као ИT-фирендy средине. Добитник престижне награде Капетан Миша Анастасијевић за афирмацију ИКТ индустрије у Зрењанину.

У свом предавању, кроз причу о Wеbiz-у, пренеће вам искуства из Зрењанина о значају грађења ИT заједнице, мотивацији и анимирању младих у једној инертној равничарској средини, и резултатима који су уследили непуних седам година након прве Wебиз конференције

Окупљање је заказано за петак, 22. фебруар, у 19 часова у Стартит Центру Вршац, који се налази у Centru Millennium, Омладински трг 17.
Присуство предавањима је бесплатно.

Нови Сад – 9 Радионица за израду Вордпрес тема, 02 фебруар 2019

Девета радионица за израду Вордпрес тема је одржана у суботу, 02 фебруара у новосадском Стартит Центру. Упознали смо се са функцијама за интернационализацију и алатима за локализацију теме.

Једноставни текст

Када у кôду имамо једноставан текст без динамичких вредности или елемената специфичних за одређени језик (као што су бројеви, датум и време), можемо користити неколико функција за интернационализацију, у зависности од места на коме се текст налази и коју улогу игра.

__(), _e() – најједноставнија функција која враћа, одн. принта текст и замењује га локализованим преводом, уколико постоји.  

esc_html__(), esc_html_e() – преводи исто као и горе неведене функције, и врши escaping за HTML.

esc_attr__(), esc_attr_e() – преводи исто као и горе неведене функције, и врши escaping за атрибуте.

Контекст

Функције за додавање контекста не праве никакву разлику у самом процесу и функционалности локализације али су од великог значаја за преводиоца.

Конкретно у енглеском језику постоје речи које се исто пишу као глагол и као именица али имају потпуно другачије значење: post (именица: чланак; глагол: послати), book (именица: књига; глагол: резервисати) итд.

У оваквим случајевима контекст представља огромну помоћ да се, без потребе гледања у кôд, израз прецизно преведе.

_x(), _ex() – функција са контекстом која враћа, одн. принта текст и замењује га локализованим преводом, уколико постоји.

esc_html_x(), esc_attr_x() – преводе исто као и горе неведене функције, и врше escaping за HTML, одн атрибуте.

Једнина и множина

Функције за разликовање једнине и множине у зависности од прослеђеног броја такође могу бити са или без контекста.

Помоћу ових функција алати за локализацију препознају да треба да примењују адекватан формат множине за дати локал.

_n(), _nx() – у зависности од прослеђеног броја враћа стринг за једнину или за множину.

Формат броја

Функција за форматирање броја користи глобалну варијаблу $wp_locale, како би број био правилно форматиран за дати локал (сепаратор за хиљаде и децимална тачка).

Нпр.

САД – 1,024.00

РС – 1.024,00

number_format_i18n() – не ставља се у функцију за интернационализацију али се враћена врдност може користити за приказ броја у склопу локализованог стринга.

Најчешћи пример у Вордпресу се може наћи у шаблону за коментаре (приказ броја коментара) где имамо примену функције за форматирање броја као и за препознавање једнине и множине:

printf(
	/* translators: 1: number of comments, 2: post title */
	_nx(
		'%1$s Reply to %2$s',
		'%1$s Replies to %2$s',
		get_comments_number(),
		'comments title',
		'radionica'
	),
	number_format_i18n( get_comments_number() ),
	get_the_title()
);

Формат датума и времена

Као и код форматирања броја, функција за локализовање датума и времена користи глобалну варијаблу $wp_locale у којој су, између осталог, сачувани називи месеци и дана у недељи за сваки локал.

date_i18n() – такође се користи ван функције за интернационализацију али може да проследи своју вредност једној таквој функцији.

Језичка целина

Приликом писања кôда и припреме за интернационализацију, веома је важно имати у виду да различити локали имају различиту језичку синтаксу и користи различит редослед речи у реченици за исказивање исте садржине.

Због овога је важно задржати логичну језичку целину у истом стрингу. Ово није проблем уколико не постоји динамичка вредност унутар целине, међутим, у ситуацијама када се динамичке вредности нађу унутар целине девелопери понекад прибегавају “лакшем” решењу и исцепкају целину на мање делове. Ово треба по сваку цену избегавати.

Како би се сачувала целина најчешће се користе следеће PHP функције: sprintf() и printf().

Алати за локализацију

Од бројних алата за локализацију који су данас доступни, у радионици смо се упознали са два: Poedit и Loco додатак.

Poedit је самостални алат и захтева добру припрему пре самог генерисања стрингова за превод. Уколико не знате које све функције и у ком формату треба да буду кориштене као кључне речи за претагу кôда, јако тешко ћете постићи потпуну локализацију.

У подешавањима кључне речи изгледају овако (све функције за интернационализацију које смо користили):

"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c\n"

Loco је додатак за Вордпрес који служи искључиво за локализацију. За разлику од осталих додатака, он посетиоцима веб места не даје могућност пребацивања садржаја на све доступне локале. Он приказује само онај локал који је изабран у контролној табли.

Међутим, оно што овај додатака издваја од осталих је могућност генерисања свих стрингова за превод и превођења директно из контролне табле. За овај додатак је довољно да само изаберете локал и он ће сам прегледати све функције.

Осим ових, постоје и напредни алати помоћу којих се могу генерисати датотеке за локализацију. Поменућемо два:

WP-CLI

wp i18n make-pot path/to/your-theme-directory

grunt-wp-i18n

Транслитерација

Српски језик је један од ретких који користи два писма, ћирилицу и латиницу. Како се транслитерација врши само из ћирилице у латиницу (обрнути смер даје грешке у многим ситуацијама), иницијални превод се врши на ћирилици.

Затим је транслитерацију могуће остварити путем додатака, ми смо користили SrbTransLatin али он није једини додатак који обавња ову функцију.

Датотеке

Постоје три врсте датотека које учествују у процесу локализације Вордпреса.

POT (Portable Object Template)

.pot – Генерише се из gettext функција у кôду. Ова датотека која садржи све стрингове за превођење, пронађене у теми, додатку или било којој претходно изабраној фасцикли. Стрингови су најчешће на енглеском језику.

Стринг из .pot датотеке:

#. 1: number of comments, 2: post title
#: template-localisation.php:182
#, php-format
msgctxt "comments title"
msgid "%1$s Reply to %2$s"
msgid_plural "%1$s Replies to %2$s"
msgstr[0] ""
msgstr[1] ""

PO (Portable Object)

.po – Генерише се из .pot датотеке и ова датотека која је њена скоро идентична копија. Разлика је у дефинисању специфичности локала: назив језика, форма множине и сл. У ову датотеку се, ручно или путем неког алата, уписује превод на жељени локал.

Горе наведени стринг али из .po датотеке за српски локал:

#. 1: number of comments, 2: post title
#: template-localisation.php:182
#, php-format
msgctxt "comments title"
msgid "%1$s Reply to %2$s"
msgid_plural "%1$s Replies to %2$s"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

MO (Machine Object)

.mo – Генерише се из .po датотеке, потпуно је нечитљива људима и ово је заправо датотека коју Ворпрес чита и користи за локализацију. За ову датотеку је јако важно како је названа и њено име ће да зависи од фасцикле у којој се налази.

Локација и име .mo датотеке

Када се у контролној табли Вордпреса промени језик, истог тренутка се у фасцикли wp-content генерише languages фасцикла. Ту су све датотеке за локализацију свих тема и додатака пронађених у инсталацији Вордпреса а које је Вордпрес преузео са translate.wordpress.org. Теме и додаци овде имају своје засебне фасцикле а именовање датотека се врши према шеми:

ИМЕ-ТЕМЕ-ЛОКАЛ.mo (radionica-sr_RS.mo, radionica-sr_RS.po)

Уколико датотеке за локализацију одређене теме или додатка не постоје на translate.wordpress.org, Вордпрес ће покушати да их пронађе у корену теме, одн. додатка. У ово случају се изоставља назив теме/додатка из назива датотеке и остаје само ознака за локал (sr_RS.mo, sr_RS.po). Да бисмо могли на овај начин да користимо датотеке за локализацију, неопходно је омогућити локализацију у кôду.

load_theme_textdomain( 'radionica' );

Ради веће прегледности и боље организације, могуће је померити датотеке за локализацију у засебну фасциклу, најчешће languages. Да би ово функционисало неопходно је додати нову локацију у претходну функцију. Датотеке и овде задржавају само ознаку за локал у свом називу.

load_theme_textdomain( 'radionica', get_theme_file_path( '/languages' ) );

Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину се бавимо подршком теме за нови уређивач, познат под називом Гутенберг.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.

Прво Вордпрес окупљање у Суботици – #WPSU

Након прилично успешне 2018. настављамо ширење наше заједнице, па окупљања Вордпрес Србије најзад доводимо на север наше земље – 12. фебруара ћемо се по први пут окупити у прелепој Суботици.

У феноменалном простору Стартит центра имаћете прилику да чујете два сјајна предавања


„Од freelancinga до предузетништва“ – Слободан Мирић

Предавање је синтеза једног пута кроз креативну индустрију од почетка као фриленсера до преласка на агенцијски облик организовања, као и пројектно финансирање, где је вртоглави скок кренуо употребом Вордпреса. Тежиште ће бити на могућностима брзог уласка у IT индустрију, како што пре бити употребљив и кренути конкретно радити, као и шта радити. Слободан ће нам пренети конкретне идеје и интерне пројекте на којима ради и које је могуће остварити уз помоћ Вордпреса и мало маркетиншког знања.

Слободан је веб девелопер, који је радио на многим домаћим и страним пројектима и компанијама. Последње 2 године ради као предузетник, власник агенције за израду веб сајтова и апликација. Поред фронт-енд програмирања и Вордпреса, заљубљеник је и у PHP. Поборник је идеје “Never stop learning” коју преноси на друге.


„WordPress 5.0“ – Милан Ивановић

Најновија верзија Вордпреса доноси прегршт новина за кориснике, а међу највећим је управо уређивач. Причамо како најбрже покренути Вордпрес инсталацију на вашем рачунару, пролазимо кроз верзију 5 и причамо зашто је јако битно ажурирати све на најновија издања.

Милан живи за Вордпрес, организатор је WordCamp Europe и WCBGD, први човек Вордпрес Србије, а у слободно време (потпуно неочекивано) држи предавања о Вордпресу и скупља (готово изненађујуће) мајице са разноразних Вордпрес догађаја.


Окупљање ће се одржати 12. фебруара са почетком у 18 часова у Стартит центру Суботица – Kорзо 1 (2. спрат). Присуство предавањима је бесплатно, али је због ограниченог броја места пријављивање обавезно на следећем линку.

Видимо се!

Нови Сад – 8 Радионица за израду Вордпрес тема, 19 јануар 2019

Прва радионица за израду Вордпрес тема у 2019 години је одржана у суботу, 19 јануара у новосадском Стартит Центру. У овом термину смо се посветили писању сигурнијег кôда помоћу тзв. escaping функција.

HTML

За једноставне стрингове који садрже само текст се користе esc_html() или esc_textarea(). PHP функција која овде обавља велики део филтрирања је htmlspecialchars().

Уколико очекујемо да стринг садржи и HTML ознаке онда можемо користити wp_kses_post() или wp_kses(). На овај начин ћемо обезбедити основно обликовање без бојазни да ћемо дозволити оне ознаке које могу пореметити распоред елемената на страници или чак направити неку већу штету.

Уколико не знамо шта можемо очекивати у стрингу а желимо да омогућимо обликовање као код садржаја или одломка чланка, можемо користити филтере за садржај, the_content, одн. oдломак, the_excerpt. Одломак ће вратити обликовање као и wp_kses_post() док садржај додаје и могућност правилног обликовања кратких кôдова (shortcode).

Атрибути

За филтрирање атрибута постоји посебна функција, ecs_attr(), која обавља потпуно исту обраду стринга као и esc_html().

URL

Уколико није дефинисан протокол, esc_url() ће га додати у облику “http://” на било који стринг који му је прослеђен. Подразумевани протоколи се могу пронаћи у wp_allowed_protocols(), где се, такође, могу додати и нови путем достпуног филтера.

Веома корисна функција за заштиту од нежељене поште је antispambot(). Она претвара сваки карактер е-поште у HTML ентитет и тиме сакрива од ботова присуство е-поште на страници.

Javascript

Пре свега је важно избегавати тзв “inline Javascript” колико год је то могуће. Уколико, ипак, постоји потреба за оваквом употребом скрипте, онда се препоручује филтрирање помоћу wp_json_encode() у комбинацији са esc_attr(), што се показало као много сигурнија опција од предвиђене esc_js() функције.

Уколико је потребно Javascript датотеци проследити одређене податке из PHP-a, може се користити функција wp_localize_script(). Иако је предвиђена да прослеђује стрингове спремне за локализацију, ова функција се у пракси користи и за прослеђивање свих осталих типова вредности (бројева, булеана итд) који се могу динамички користити у Javascript кôду.


Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину ћемо се упознати са функцијама за интернационализацију теме, припремићемо целу тему за локализацију и, уз помоћ Поедита (софтвера за превођење), направити датотеке помоћу којих се врши превод.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.

Нови Сад – 7 Радионица за израду Вордпрес тема, 22 децембар 2018

Последња радионица за израду Вордпрес тема у 2018 години је одржана у суботу, 22 децембра у новосадском Стартит Центру. У овом термину смо се посветили бочној траци, виджетима и различитим приказима архива.

Бочна трака

Као носиоца различитих виджета, бочну траку смо регистровали и додали у sidebar.php и позвали у index.php путем get_sidebar() функције. Како бисмо избегли празан HTML markup, као и празан простор на страници када ниједан виджет није додат у бочну траку, употребили смо is_active_sidebar() функцију за проверу постојања виджета и body_class копчу да додамо прилагођену класу за <body> ознаку.

Архиве

Вордпрес има велики потенцијал у пролагођавању архива различитим потребама веб места. Ми смо се посветили специфичностима неких од њих.

archives.php

Односи се на приказ свих архива и, уколико постоји у теми, преузима ову улогу од index.php шаблона. Приказ назива и описа архиве је поједностављен функцијама the_archive_title() и the_archive_description().

Уколико подразумевани назив и опис не одговарају потребама веб места, или не постоје и не могу се додати из контролне табле (као што је случај са описом архива датума), промена је веома једноставна употребом филтер копчи get_the_archive_title и get_the_archive_description.

date.php

Односи се на све архиве датума: година, месец и дан. Преузима улогу шаблона за архиве датума од archives.php или index.php шаблона, уколико archives.php шаблон не постоји у теми.

Уколико постоји потреба, могуће је раздвојити архиве датума на year.php, month.php и day.php ради даљег прилагођавања.

author.php

Односи се на архиве аутора и преузима улогу шаблона за архиве аутора од archives.php или index.php шаблона. Подразумевано су доступни додатни подаци аутора (аватар, биографија, сва поља из профила) а могуће је додатно персонализовати архиву употребом прилагођених изборника и сл.

search.php

Посебан вид архиве који приказује резултате претраге. Ово је згодно место за приказ формулара за претрагу путем get_search_form(), а такође су нам доступне и кључне речи претраге у функцији get_search_query().

Уколико је неопходно изменити HTML самог формулара за претрагу, то је могуће урадити у посебно делу шаблона searchform.php.

Bug

Обзиром да подразумевена претрага Вордпреса претражује кључне речи у пољима за наслов, садржај и одломак чланка и странице, нама се на архиви резултата претраге појавила PHP нотификација када је одломак празан у чланку. Ово је узроковано кодом из нашег прилагођеног изборника (лоциран у inc/class-custom-walker-nav-menu.php, линија 138). Ову линију смо померили унутар провере постојања одломка, на линију 155, и тиме је нотификација успешно уклоњена. Ову промену можете видети овде.


Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину се бавимо локализацијом и припремом теме за превођење, уз неминовно упознавање са функцијама за escaping различитих вредности.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.

Нови Сад – 6 Радионица за израду Вордпрес тема, 08 децембар 2018

У суботу, 8 децембра 2018 године у новосадском Стартит Центру је одржана шеста радионица за израду Вордпрес тема. Наставили смо са шаблоном појединачног чланка и завршили ову област, започету на петој радионици.

Коментари

За измену приказа листе коментара смо користили callback, и наишли на тзв bug у коду самог Вордпреса. Када се нађемо у оваквој ситуацији веома је корисно пријавити bug, прилагодити код тренутном стању и сачекати да исправак кода стигне у званичну верзију Вордпреса. Уколико знате и како да направите исправак, цео процес се значајно убрзава.

Пријавили грешку у коду и уједно доставили исправак (#45498). Сада можемо да чекамо верзију 5.1, за коју је предвиђено да садржи овај исправак.  

Образац за коментаре смо изменили на неколико начина. Који начин изабрати зависи искључиво од тога које су размере и природа промене. Уколико желимо у потпуности да изменимо HTML markup обрасца онда има смисла измене проследити као параметар comment_form() функције.

Уколико само желимо да изменимо места пољима или да искључимо поједина поља обрасца онда је сасвим довољно користити comment_form_fields филтер копчу.

Од осталих функција везаних за шаблон коментара, додали смо наслов секције у зависности од броја коментара, функцију за кретање коментара, the_comments_navigation() и обавештења за затворене коментаре или неопходну регистрацију и пријаву уколико је то подешено у контролној табли.

Облик чланка

Облик чланка је посебан вид издвајања појединих чланака према одређеним критеријумима који отвара могућност засебног шаблона за приказ чланка. Различити облици чланка су доступни путем подршке теме.

Прилагођен шаблон чланка

Од верзије 4.7 доступни су прилагођени шаблони за све врсте чланака, што је до тада било омогућено само за странице. Ова могућност употпуњује широку палету сценарија у којима се чланци могу приказивати на различите начине док се прилагођена врста чланка оставља за оне случајеве када је потребно ићи даље од визуелних разлика.


Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину ћемо се посветити виджетима и различитим приказима архива. Уједно, овим завршавамо основну обуку развијања тема а од јануара прелазимо на напредније теме. Локализација и припрема теме за превођење, подршка теме за нови уређивач (познат под кодним именом “Гутенберг”), прилагођена подешавања у прилагођавачу су само неке од области којима ћемо се бавити у 2019 години.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.

Нови Сад – 5 Радионица за израду Вордпрес тема, 24 новембар 2018

Након дуже паузе у новосадском Стартит Центру је одржана пета радионица за израду Вордпрес тема. Бавили смо се шаблоном појединачног чланка и његовим специфичним елементима.

Прилагођени део шаблона

Како бисмо обезбедили прилагођен изглед и функционалност, а опет избегли превише кондиционала за различите приказе садржаја (страница, чланак на архивама и сл), део шаблона за приказ садржаја, entry.php, смо копирали и сачували као entry-post.php. Ово нам је дало могућност да позовемо entry-post.php у single.php на динамички начин:

get_template_part( '/template-parts/entry', get_post_type() );

Ово значи да ће entry-post.php бити учитан уколико се налазимо на типу чланка post. Међутим, уколико постоји тип чланка нпр. book а не постоји entry-book.php, када се нађемо на овом типу чланка видећемо да је учитан entry.php.

Мета

Најчешћи мета елементи које можемо пронаћи на појединачном чланку су категорије, ознаке, датум објављивања и аутор чланка.

Датум је могуће форматирати на различите начине али се препоручује да се у коду не инсистира на одређеном формату јер сваки корисник у контролној табли има могућност прилагођавања формата свом језику. Формат смо дефинисали једино за потребе datetime атрибута јер се он користи у мапама сајта.

Обележавање страница и кретање (пагинација и навигација)

Појединачни чланак се може поделити на више страница, што се врши помоћу wp_link_pages() функције и додавања <!–nextpage–> ознаке у садржају. Такође, могуће је кретати се од једног до другог чланка директно са странице чланка помоћу the_post_navigation() функције.

Као и код сваке навигације, и овде имамо наслов који описује само кретање. Овај наслов је важан за све читаче екрана који се користе при асистивним технологијама. Уолико не желимо да се овај наслов види можемо га врло лако сакрити помоћу screen-reader-text класе при чему ће и даље бити доступан за читаче.

Коментари

За приказивање листе коментара, као и обрасца за коментаре, неопходно је додати comments.php део шаблона, а у шаблону single.php учитати коментаре путем comments_template() функције. Доступна је и поршка за HTML5 и за листу и за образац.

Функционалност коментара је доста комплексна и флексибилна. Постоји низ начина на које можемо прилагодити систем коментара, од Walker класе, преко callback функције, па све до читавог низа копчи (филтера и акција). Неке од ових начина смо испробали на радионици а неке ћемо проучити у следећем термину.


Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину ћемо наставити са прилагођавањем обрасца за коментаре, преосталим ознакама које се користе у comments.php шаблону, као и осталим начинима прилагођавања шаблона појединачног чланка.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.

Позив за предаваче

Српска Вордпрес заједница је у много наврата дала примере успешног развоја квалитетне заједнице окупљене око идеје слобода у развоју и употреби отвореног кôда. На овом путу развоја, као и свака слична заједница, Вордпрес Србија се сусретала, и идаље се сусреће, са бројним изазовима.

Два, за сада највећа, изазова су:

  • Обезбедити занимљива и корисна предавања на сваком окупљању, и
  • Подстакнути посетиоце окупљања да се осећају као активан део заједнице који може, и треба, да утиче на њен даљи развој.

Како бисмо одговорили овим изазовима и проширили опсег тема покривених предавањима, желимо да позовемо све чланове српске Вордпрес заједнице да се пријаве као предавачи у било ком граду Србије где се одржавају окупљања.

Ко може бити предавач?

Услед неадекватног превода енглеских речи “speaker” (предавач) и “talk” (предавање), у нашој заједници се ствара делимично искривљена слика о томе ко све може да буде предавач и које су то теме адекватне за предавања на окупљањима. Волели смо да се ова слика “исправи”. Веома је важно нагласити да:

Свако ко на било који начин користи Вордпрес је квалификован и позван да одржи предавање на окупљању Вордпрес заједнице.

Не знам о чему да причам

Анкета коју су попуњавали чланови заједнице пре неколико месеци је показала да су најзанимљивије теме које подразумевају маркетинг, оптимизацију за претраживаче и напредне теме за развијање тема и додатака за Вордпрес.

Ово, ипак, није све што занима чланове наше заједнице. Довољно је погледати неколико питања на званичној Facebook групи и стећи детаљнији увид у оно што заједницу интересује.

Ми ћемо овде навести неколико тема које би могле бити занимљиве на окупљањима:

  • Шта се све (или како се нешто) може направити са Диви додатком
  • Препорука додатака за WooCommerce за специфичне захтеве
  • Препорука готових тема за специфичне захтеве
  • Како креирати садржај који повећава видљивост веб места
  • Како креирати садржај који ће привући посетиоце
  • Шта је све потребно да се привуку посетиоци на ново веб место
  • Студије случаја – на који начин сте решили проблеме одређеног веб места или на које све начине сте решили исти проблем у различитим пројектима
  • Презентујте тренутни проблем (или проблем из прошлости) који не можете да решите па ћемо покушати сви заједно да дођемо до једног или више решења
  • Која су најбоља места за учење о Вордпресу
  • Како усмерити процес самосталног учења о Вордпресу

Ово никако није све. Листа може ићи у недоглед са разним варијацијама а оно што је најважније је да, коју год тему одаберете, она ће бити јединствена јер ће говорити о веома јединственом искуству из јединствене перспективе. Ваше.

Уколико већ имате тему о којој бисте причали, молимо да попуните формулар и веома брзо ћете бити контактирани. Хвала.

Формулар: https://goo.gl/forms/3TdllpGUBpcfP7bA3

Нови Сад – 4 Радионица за израду Вордпрес тема, 20 октобар 2018

Нови Сад – Радионица за израду тема
Полазници четврте радионице за израду Вордпрес тема

У суботу, 20 октобра 2018, у новосадском Стартит Центру је одржана четврта радионица за израду Вордпрес тема. Радионица је била посвећена мало напреднијој теми, Walker_Nav_Menu.

Изборник је таксономија док су ставке изборника post_type објекти.

Walker_Nav_Menu::start_lvl

Односи се на отварајућу ознаку листе, <ul>, сваког под-изборника. Враћа целокупан markup пре <ul>, као и <ul> са класама и одговарајућим размацима, item_spacing.

Уколико је потребно само променити или додати класе или аргументе изборника, онда се може користити доступан филтер, nav_menu_submenu_css_class, и нема потребе иницијализовати цео Walker.

Извор: Walker_Nav_Menu::start_lvl

Walker_Nav_Menu::end_lvl

Односи се на затварајућу ознаку листе, </ul>, сваког под-изборника.

Извор: Walker_Nav_Menu::end_lvl

Walker_Nav_Menu::start_el

Односи се на отварајућу ознаку сваке ставке, <li>, као и на одговарајућу везу, <a></a>. Овде је могуће изменити и/или додати атрибуте за сваку ставку без обзира ком нивоу изборника припада, као и за сваку везу.

Могуће је поништити или дефинисати аргументе из wp_nav_menu(), као што су before, after, link_before и link_after, што уз употребу одговарајућих кондиционала значајно олакшава додавање помоћних ознака код ставки које садрже под-изборнике.

Чак је могуће убацити било који садржај везан за ставку – ако је чланак или страница онда имамо на располагању све што можемо приказати у њиховим шаблонима (наслов, садржај, исечак, издвојену слику, аутора, коментаре, датум итд); ако је у питању таксономија могуће је приказати њене чланове, број чланака у сваком члану..

Доступни филтери: nav_menu_item_args, nav_menu_css_class, nav_menu_item_id, nav_menu_link_attributes, the_title, nav_menu_item_title и walker_nav_menu_start_el.

Могућности су неограничене, не само у модификацији изборника већ и у сврси за коју се може користити.

Извор: Walker_Nav_Menu::start_el

Walker_Nav_Menu::end_el

Односи се на затварајућу ознаку сваке ставке, </li>.

Извор: Walker_Nav_Menu::end_el

Корисна Вордпрес функција wp_trim_words()

Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину ћемо наставити са подразумеваним особинама теме, подршком за пост формате, HTML5, те осталим подразумеваним шаблонима.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.

Нови Сад – 3 Радионица за израду Вордпрес тема, 06 октобар 2018

Трећа радионица за израду Вордпрес тема је одржана у суботу, 6 октобра 2018, у просторијама новосадског Стартит Центра. Цела радионица је била посвећена подразумеваним особинама теме које се активирају помоћу add_theme_support() функције.

Полазници треће радионице за израду Вордпрес тема – аутор Стевица Голошин

Прилагођени лого

Да би се користила функционалност прилагођеног логоа у прилагођавачу неопходно је, пре свега, активирати је уз помоћ add_theme_support( ‘custom-logo’ ) функције. Затим се на месту где желимо да прикажемо лого, најчешће у header.php шаблону, позивају функције за приказ логоа. Неке од њих су has_custom_logo(), the_custom_logo() и the_custom_logo().

У ситуацијама када нам предефинисани Вордпресов markup не одговара, можемо користити доступне филтере, као што је филтер копча get_custom_logo. На овај начин врло једноставно прилагођавамо приказ логоа нашим потребама при чему и даље користимо предности Вордпресове предефинисане функционалности.

Аутоматске везе довода

Ова особина не мења изглед и функционалност веб места али је изузетно важна за сваки блог. Додавањем add_theme_support( ‘automatic-feed-links’ ) у functions.php датотеку омогућавамо посетиоцима веб места да се лако пријаве на претплату нових чланака и коментара.

Ознака наслова

Помоћу add_theme_support( ‘title-tag’ ) функције активирамо подршку за ознаку наслова што омогућава страницама веб места адекватан наслов за претраживаче. Подразумевани наслови су дефинисани у wp_get_document_title() функцији у којој можемо пронаћи и филтере за измену наслова, document_title_parts, и сепаратора, document_title_separator.

Прилагођена позадина

Прилагођена позадина за <body> ознаку се активира додавањем add_theme_support( ‘custom-background’ ) функције. Ова функционалност додаје две нове контроле у прилагођавачу и нуди читав низ подешавања које можемо дефинисати као подразумеване, укључујући боју и слику.

Издвојена слика

Функционалност издвојене слике, која се активира додавањем add_theme_support( ‘post-thumbnails’ ) функције, баш као и прилагођени лого, захтева додатни код у шаблонима. За приказ издвојене слике, онако како је предефинисан у Вордпресу, довољно је свега пар функција као што су has_post_thumbnail() и the_post_thumbnail(), док су за прилагођавање доступни филтери.

Димензије слика се могу прилагодити помоћу add_image_size() функције. Како бисмо применили нове димензије и на све већ постојеће слике у галерији садржаја, препоручен је Force Regenerate Thumbnails додатак. Његова предност у односу на друге сличне додатке је што он, поред тога што примењује нове димензије на све постојеће слике, проверава све регистроване димензије и уклања оне слике које су сечене према димензијама које се више не користе.

Прилагођено заглавље

Функционалност прилагођеног заглавља омогућава додатни издвојени садржај, слику или видео, које је предвиђен да буде допуна идентитету веб места али је, у пракси, могуће користити је у било коју сврху. Активира се помоћу add_theme_support( ‘custom-header’ ) функције и, као и прилагођена позадина, има читав низ подешавања који се могу дефинисати као подразумевани.

За разлику од прилагођене позадине, прилагођено заглавље захтева додатни код у шаблонима. Неке од доступних функција су get_header_image(), get_custom_header(), header_image() и the_custom_header_markup().

Изборници

Изборници се користе у различите сврхе на веб местима. Основна функционалност кретања кроз веб место се постиже функцијом wp_nav_menu(). Додатна функционалност и већа контрола над изборницима се постиже регистрацијом прилагођених изборника, register_nav_menus().

Аутор форографија Стевица Голошин.

Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.

У следећем термину ћемо се посветити прилагођавању изборника кроз Walker_Nav_Menu класу.

Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.