Jinsi ya Kujenga Rahisi FAQ Plugin kwa WordPress

Nakala iliyoandikwa na: Rochester Oliveira
  • WordPress
  • Imeongezwa: Jan 20, 2020

Tumeona kabla ya mengi vidokezo vya mabalozi na zana. Kweli, leo tutajifunza jinsi ya kuunda zana nzuri kwa blogi yako - programu-jalizi ya ukurasa wa Maswali. Lakini jambo muhimu zaidi sio tu programu-jalizi yenyewe, lakini ni nini unaweza kufanya na kanuni hii. Utajifunza jinsi ya kuhifadhi aina yoyote ya data kwenye wavuti yako ya WP na jinsi ya kuiunganisha na maktaba za nje (kama jQuery UI) kuunda vifaa maalum kwa wavuti yako. Tuanze!

Idea, Demo & Pakua

demo

Lengo letu hapa ni kujenga Plugin ambayo inaweza kutumika kwa mambo mengi, lakini inafaa vizuri kwa kurasa za Maswali.

Lakini mbali na kwamba mafanikio yetu kuu yatakuwa kuelewa kwa WordPress aina za post desturi, shortcodes, mwingiliano na Plugin ya JS / jQuery ya nje. Kwa wazo hili unaweza kuunda vitu vingi kulingana na programu nyingine za ufumbuzi ambazo unaweza kupata huko, hii ni hatua ya mwanzo kwako, mpendwa Padawan.

So hapa unaweza kupata demo ya jQuery API kwa sehemu tutakayotumia - lakini vitu vyenye kupendeza ni nambari inayotumia kutengeneza sehemu hiyo (PHP).

Kufua - Plugin faili na Aina Custom post

Kwanza kabisa tunahitaji kuunda aina ya post desturi ili kuhifadhi data yetu.

Aina za Posta Maalum ni sehemu kubwa ya uchawi wa WP, hukuruhusu kuunda aina mpya ya data (aina kama machapisho, kurasa, viambatisho ..) kwa hivyo inaweza kuitwa na kudanganywa kwa kutumia kazi za WP. Hii inaweza kuonekana kuwa rahisi kwa Kompyuta lakini tu programu za zamani za PHP (hiyo bado ni jambo?) Wanajua ni ngumu sana kuungana na kuhifadhi data kwenye DB yako. Acha tuunde aina mpya ya data, hii ni hila lakini inaruhusu kubadilika kubwa katika nambari yetu.

Kwa sisi kuwa hii tunahitaji Plugin, lakini labda unajua na dhana hii tayari. Plugins ni kama vitalu vya Lego kwa WordPress, wao huongeza au kubadilisha utendaji wa sasa kwa kutumia kanuni ambazo zinaweza kufungwa kwa urahisi (duh!) Au pia hazifunguliwa kama unataka.

Ili kuunda Plugin kwa njia ambayo WP inatambua unahitaji vitu vya 2:

  1. Unda faili ndani ya wp-content / plugins yako /
  2. Ongeza metadata mwanzoni mwa faili hiyo ili WP inaweza kuelewa ni nini kinachohusu

Kumbuka kwamba jina la faili lazima iwe ya pekee ili mtu atakapoingia kwenye Plugin yako (hata wewe mwenyewe) hakutakuwa na migogoro na programu za sasa. Katika kesi yetu kwa shirika bora tutaongeza folda mpya na jina faq-whsr, na ndani yake faili inayoitwa faq-whsr.php.

Sasa kwa metada, ongeza tu kitu kama hiki mwanzoni mwa faili yako ya programu-jalizi (mara tu baada ya

meta_01

Inamaanisha:

  • Jina la programu-jalizi: Jina zuri ambalo litaonyeshwa kwenye wp-admin> interface ya programu-jalizi
  • Plugins URI: Ikiwa unataka kuongeza kiunga kwenye ukurasa wako wa programu-jalizi (hati, mifano, ukurasa wa mauzo)
  • Maelezo: Hii ni aya ndogo iliyoonyeshwa kwenye wp-admin> interface ya programu-jalizi. Weka rahisi ili watumiaji watakumbuka ni ya nini
  • Mwandishi / Mwandishi URI: Mtu / kampuni ambaye aliunda Plugin na kiungo kwa mikopo
  • Leseni: Kwa hivyo watumiaji watajua nini wanaweza / hawawezi kufanya na programu-jalizi yako

Sawa, sasa tumeunda programu jalizi yetu, na kuongeza metadata inayofaa. Mara tu unapookoa faili yako ya jalizi unapaswa kuona katika interface yako ya wp-admin

Wacha tuamilishe na tuone kinachotokea.

Kusubiri, hakuna? Naam, hiyo ni jambo jema, ikiwa kitu chochote kilikuwa kibaya sasa ungependa kuona kosa. Hebu tuendelee kwenye uumbaji wetu wa aina ya post sasa.

Kwa upande wetu CPT ni bidhaa za FAQ, lakini unaweza kuunda vitabu, video, ushuhuda na kadhalika. Jambo muhimu kukumbuka hapa ni: majina ya kazi yanapaswa kuwa ya pekee. Kurudia nami sasa: majina ya kazi yanapaswa kuwa ya kipekee, majina ya kazi yanapaswa kuwa ya pekee. Nimeelewa? Nzuri hii itakuokoa shida nyingi mpaka tuweze kutumia OOP (labda katika mafunzo ya pili).

Mwivi hufanywa kwa msimbo huu:

cpt

Na hii ndio maana sehemu zinazohusiana zinamaanisha:

  • Maandiko ya $ - ni safu na lebo na maandishi kwa sehemu tofauti za eneo lako la wp-admin. Kwa hivyo WP itajua njia sahihi ya kupiga vitu vyetu
  • inasaidia - hii inaelezea kile unaweza kuona kwenye wp-admin> Maswali Yanayoulizwa Sana> skrini mpya. Kwa upande wetu tutakuwa na kichwa, mhariri (sanduku kuu la yaliyomo), mwandishi, marekebisho na uwanja wa kawaida (ikiwa utazitaka).
  • ushuru - hapa unaambia WP ni ushuru gani unaruhusiwa (kategoria, vitambulisho au ushuru wa kawaida)
  • register_post_type ('faq_whsr', $ args) - hii inaambia WP "Haya, tengeneza aina mpya ya chapisho maalum na kitambulisho kama faq_whsr ukitumia hoja kutoka kwa $ args".

Hifadhi na ushikilie pumzi yako. Unapaswa kuona sasa sehemu mpya katika orodha yako kuu ya wp-admin

Subiri, ndivyo? Naam. Snippet hiyo inaunda utendaji wote wa CPT. Ikiwa hupata hii baridi, jaribu kwamba itapata baridi katika sehemu inayofuata.

Kabla ya kuondoka wp-admin, ongeza data za dummy (faq chache na angalau makundi ya 2).

Mwisho-Mwisho - WP x jQuery mwingiliano

Sasa ni hatimaye wakati wa kuona hatua na tutatumia jQuery UI mkataba wa kipengele kwa hii; kwa hili.

JQuery UI ina faida kubwa sana kama jQuery yenyewe:

  • Watengenezaji wengi wanafanya kazi hiyo
  • Msimbo wa kivinjari na simu tayari
  • Imeandikwa vizuri
  • Inacheza nzuri na WP (WP yenyewe inatumia yao)

Swali la sasa ni: Tunaiitaje?

Kuna njia za 2 kwa hili:

  1. Safi mbaya / tags in your wp_head
  2. Wp_enqueue nzuri

Hatutachana na wakati mwingi na njia mibaya leo, lakini ile nzuri inamwambia WP "Hey buddy, tutahitaji jQuery UI wakati fulani katika kanuni zetu, tafadhali ingiza ndani ya ukurasa". Kwa njia hii WP inaweza kuangalia ikiwa mtu mwingine amejumuisha au amejumuisha toleo tofauti na kuepuka shida nyingi na maktaba yaliyopigwa. Naam, jinsi ya kutafsiri mazungumzo mazuri katika kificho?

Kutumia kazi ya upepo:

puta_02

Shortcode

Na sasa tunarudi kwenye wp-admin. Tuna vitu vya Maswali, na tuna maktaba kwa mtindo wa vitu kama tunavyotaka, ni nini kingine cha kukosa? Naam, tunahitaji kupiga vitu!

Tuna chaguzi nyingi kwa hili, lakini rahisi zaidi kwa kesi hii ni kujenga shortcode. Shortcode ni kitu ambacho unachoongeza katika uwanja wako wa maudhui (kwa kurasa, posts, CPTs ...) na WP watatafuta kazi ya kukimbia. Kuna aina 2 ya shortcodes:

  1. [kujifunga mwenyewe] - Kama vitambulisho au aina hii ya njia fupi inaita tu kazi wakati fulani - huyu ndiye mtu wetu
  2. [amefungwa] Yaliyomo [/ amefungwa] - Huyu ni kama lebo au na kwa kweli inaweza kubadilisha yaliyomo, au kutumia yaliyomo kama hoja.

Hebu tuone jinsi inavyofanya kazi basi. Unda ukurasa mpya katika wp-admin yako na uongeze msimbo huu pale:

[faq-whsr]

Hifadhi na tembelea ukurasa huo na uone kinachotokea ...

Je, si tu kufanya kitu sahihi? Naam, hiyo ni kwa sababu hatujatengeneza kazi bado.

Ongeza hii katika faili yako ya kuingia:

shortcode_02

Sasa furahisha ukurasa wako na nimeahidi kitu fulani chenye baridi kitatokea.

Baridi, huh? Sasa unaweza kuona kwamba inaendesha na anga ni kikomo kwako sasa. Nini kanuni hiyo inakuambia WP kwamba kuna shortcode inayoitwa [faq-whsr] na ikiwa WP inaipata, WP inapaswa kuendesha kazi katika hatua hiyo ya ukurasa.

Kwa upande wetu tutahitaji kufikia muundo huu kwa jopo la jQuery UI ili kuundwa:

api_02

Na kwa hiyo tutaunda Swala la WP, weka vitu vyetu vya FAQ na yaliyomo yao. Badilisha nafasi ya shortcode na hii:

shortcode-msingi_02

Sawa, sasa vitu vyako vya FAQ vitaitwa. Kile tumefanya ni kupigia simu wp_query kupiga aina yetu ya chapisho maalum, kisha kuipitisha kwa njia fupi ya kurudisha ili WP ionyeshe wote kufuatia muundo unaotaka.

Ni nzuri lakini kuna kitu kinakosekana, sawa? Vipi kuhusu chaguzi kadhaa huko? Kweli, tunaweza kuongeza chaguzi kwa njia fupi, wacha tuone jinsi ya kuunda hoja chache za WP_Query kwenye njia yetu fupi:

shortcode-final_02

Kwa njia hii unaweza kupiga vitu kwa kutumia hoja zifuatazo (unaweza kuunganisha wengi kama unavyotaka):

  • kitambulisho cha kitengo cha paka (nyingi imeongezwa kama safu) [faq-whsr paka = 1]
  • category_name - jina la kategoria [faq-whsr category_name = "chakula"]
  • agizo - ASC au DESC (DESC ni chaguomsingi) [faq-whsr order = "ASC"]
  • kuagiza - badilisha vigezo vya kuagiza vitu [faq-whsr orderby = "title"]
  • posts_per_page - badilisha idadi ya vitu vilivyopakiwa [faq-whsr posts_per_page = 5]

Lakini kama nilivyosema, anga ni kikomo kwako rafiki yangu. Hapa kuna chaguzi chache za WP_Query ambazo unaweza kutekeleza na kutumia:

  • mwandishi
  • Jamii (kuongeza ukiondoa chaguzi na si_in)
  • Utafute (baridi kama unataka kuwapa watumiaji uwezo wa kutafuta njia yao)
  • Field Field (tangu vitu vya FAQ vinavyo unaweza kuzitumia kupakia vitu na mashamba maalum na maadili maalum)

Sasa ni zamu yako

Hii ni hatua ya mwanzo kwako, kama unaweza kuona. Sisi sote tunaweza kujifunza mambo mengi mazuri ya kuboresha Plugin hii rahisi, hapa ni mapendekezo machache ya kukumba zaidi:

  • Msikivu kubuni
  • Uumbaji wa widget
  • Plugin kuamsha / de-kuamsha ndoano
  • internationaliseringen
  • OOP
  • Inakoma tu ikiwa inahitajika (kwa kurasa fulani)

Usisahau kuacha maoni yako kwenye maoni! Na hapa kuna changamoto yetu kwako: Je! Inawezekana kwako kutumia chaguo la "chaguo-msingi" kwa njia fupi (kwa hivyo wakati ukurasa unapakiwa bidhaa nyingine itakuwa wazi, hiyo sio ya kwanza)? Je! Ungefanyaje?

Kuhusu Rochester Oliveira

Mimi ni mtengenezaji wa mtandao na mjasiriamali kutoka Itajubá (MG), Brasil. Ninapenda kuandika kuhusu mada ya wazi na kufanya mambo mengine ya baridi.

Kuungana: