Jinsi ya Kujenga Rahisi FAQ Plugin kwa WordPress

Kifungu kilichoandikwa na:
  • WordPress
  • Imesasishwa Februari 09, 2017

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 FAQ. Lakini jambo muhimu zaidi sio tu programu 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 sehemu maalum kwa wavuti yako. Tuanze!

Idea, Demo & Pakua

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 ambayo tutakuwa tunatumia - lakini vitu vya kupendeza kabisa ni kanuni inayotumia kutengeneza sehemu hiyo (PHP).

O, na bila shaka unaweza kupata Faili za Plugin za kupakuliwa hapa kama vile unaweza tu kufunga kwenye tovuti yako ya WP.

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 kitu kama hiki mwanzoni mwa faili yako ya vijinwali (haki baada ya <? Php):

Inamaanisha:

  • Jina la Plugin: Jina jema ambalo litaonyeshwa kwenye interface yako ya wp-admin> Plugins
  • Plugins URI: Ikiwa unataka kuongeza kiunga kwenye ukurasa wako wa programu-jalizi (hati, mifano, ukurasa wa mauzo)
  • Ufafanuzi: Hili ni aya ndogo iliyoonyeshwa kwenye interface yako ya wp-admin> Plugins. Weka rahisi hivyo watumiaji watakumbuka ni 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:

Na hii ndio maana sehemu zinazohusiana zinamaanisha:

  • Maandiko ya $ - ni safu na maandiko na maandiko kwa sehemu tofauti za eneo lako la wp-admin. Hivyo WP itajua njia sahihi ya kupiga vitu vyetu
  • inasaidia - huyu anasema nini unaweza kuona kwenye wp-admin> FAQ> skrini mpya. Kwa upande wetu tutapata kichwa, hariri (kisanduku kuu cha yaliyomo), mwandishi, marekebisho na uwanja maalum (ikiwa utataka).
  • taxonomies - hapa unawaambia WP ambazo taxonomies zinaruhusiwa (makundi, vitambulisho au kodi za ushuru)
  • kujiandikisha_post_type ('faq_whsr', $ args) - hii inaambia WP "Hebu, uunda aina mpya ya desturi ya posta na ID kama faq_whsr ukitumia hoja kutoka kwa args ya $".

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. Lebo safi <script> / style> katika wp_head yako
  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:

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. [kujiingiza] - Kama vitambulisho <hr /> au <br /> aina hii ya shortcode tu inaita kazi wakati fulani - hii ni mvulana wetu
  2. [amefungwa] Content [/ amefungwa] - Hii ni kama vitambulisho <p> </ p> au <div> </ div> na kwa kweli inaweza kubadilisha maudhui yake, au kutumia maudhui 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:

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:

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

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:

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

  • Kitambulisho cha kambi (kimeongezwa mara nyingi kama safu) [faq-whsr cat = 1]
  • jamii_name - jina la kikundi [faq-whsr category_name = "chakula"]
  • amri - ASC au DESC (DESC ni default) [faq-whsr order = "ASC"]
  • kuagiza - kubadilisha vigezo vya kuagiza vitu [faq-whsr orderby = "title"]
  • posts_per_page - kubadilisha idadi ya vitu zilizouzwa [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 mawazo yako katika maoni! Na hapa ndio changamoto yetu kwako: Je! Inawezekana kwako kutumia chaguo la "chaguo-msingi" kwa njia fupi (kwa hivyo wakati ukurasa utapakiwa bidhaa nyingine itafunguliwa, 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: