Pereiti prie turinio

Wordpress pluginas - url parametrai


Rekomenduojami pranešimai

Sveiki,

 

Mokaus Wordpress dabar.

Turiu plugina, kuris aktivacijos metu sukuria nauja puslapi ir pakeicia turini tame puslapyje dinamiskai. Norejau paklaust ar kas zino kaip leisti i puslapi siusti parametrus? Pvz puslapis yra 'careers', ir noreciau, kad zmones galetu eiti /careers/1 arba /careers/developer ir plugine pasiekciau ta parametra ir pakeisciau turini pritaikant tam. Siuo metu uzdejus bet ka po /careers/ meta 404 errora. Zinau, kad galiu $_GET naudot ir daryt /careers/?ref=developer ar pns. taciau noretus graziu URL.

 

Dekui uz pagalba

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O tai tiesiog child-pages naudot neišeina?... Toks jausmas, kad nori dviratį iš naujo išrasti :D

 

Tai tarkim turiu moduli, kuris naudoja custom db table, tai per admin panele kiekviena karta sukurus nauja irasa, man reikia sukurt nauja child-page vien del url?

 

Kaip minejau, tik pradejau mokintis wordpress, nezinau kaip ka reikia daryt, tai darau kaip veikia dabar.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ne, galima ir su url žaisti /page/var1/var2/etc/ ir t.t. O paskui naudoti tuos var1, var2, etc kaip variables, tačiau jei tik pradėjai wp mokytis - neaiškinsiu, kadangi šiektiek perdaug advanced naujokui. Todėl ir paminėjau, kad būtent tavo atveju, kodėl nenaudoti child-pages? Dabar tikrai nebūtina naudoti custom struktūros tik tam, kad rodyti skirtingą turinį, nes būtent tam pages / child-pages ir yra skirti.

 

Na, o jei vistiek nori su URL padaryt - https://codex.wordpress.org/Rewrite_API - skaityk pats - perskaitysi, susirasi atsakymą, pasidarysi.

 

O va čia dar vienas geras resursas šita tema - https://carlalexander.ca/wordpress-adventurous-rewrite-api/

Redagavo wicked
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ne, galima ir su url žaisti /page/var1/var2/etc/ ir t.t. O paskui naudoti tuos var1, var2, etc kaip variables, tačiau jei tik pradėjai wp mokytis - neaiškinsiu, kadangi šiektiek perdaug advanced naujokui. Todėl ir paminėjau, kad būtent tavo atveju, kodėl nenaudoti child-pages? Dabar tikrai nebūtina naudoti custom struktūros tik tam, kad rodyti skirtingą turinį, nes būtent tam pages / child-pages ir yra skirti.

 

Na, o jei vistiek nori su URL padaryt - https://codex.wordpress.org/Rewrite_API - skaityk pats - perskaitysi, susirasi atsakymą, pasidarysi.

 

O va čia dar vienas geras resursas šita tema - https://carlalexander.ca/wordpress-adventurous-rewrite-api/

 

Dekui, panasu, kad to man ir reikejo.

 

Child-pages nenaudoju, kadangi zinau, jog reikes rasyti sudetingesnius modulius, kurie dirbs su custom duombaze ir pns., ir pagal url reikes generuoti ka advaizduoti, tai mano manymu geriau viskas ant vieno page suktus nei kiekvienam irasui kurt po page'a?

 

Siaip, jei turiu plugina, kuris turi rodyti turini atskiruose puslapiuose, ar sukurti nauja page yra tinkamas metodas? Ar su Rewrite API galiu persiust tam tikrus url i controller'i ar kazka panasaus, kur paduodu content'a, vietoj to kad tiesiog keisti page the_content()?

 

Dekui uz pagalba

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Child-pages nenaudoju, kadangi zinau, jog reikes rasyti sudetingesnius modulius, kurie dirbs su custom duombaze ir pns., ir pagal url reikes generuoti ka advaizduoti, tai mano manymu geriau viskas ant vieno page suktus nei kiekvienam irasui kurt po page'a?

 

Ne, aš visdar naudočiau child-pages. Nebent jau labai specifinis use-case, bet būtent dabar kažko tokio specifinio sugalvoti negaliu. Tačiau, bent jau aš custom URL naudočiau pvz tokiems dalykams kaip, kad /page/print (print variantas), /page/download (parsiunčia pvz attachmentą kokįnors), /page/redirect (nuredirectina į nurodytą URL) ar kažkaip panašiai. Contento kažkokio tikrai negeneruočiau dinamiškai pagal URL parametrus.

 

Siaip, jei turiu plugina, kuris turi rodyti turini atskiruose puslapiuose, ar sukurti nauja page yra tinkamas metodas? Ar su Rewrite API galiu persiust tam tikrus url i controller'i ar kazka panasaus, kur paduodu content'a, vietoj to kad tiesiog keisti page the_content()?

 

Kaip ir sakiau, nelabai įsivaizduoju, ką tu čia išgimdyt bandai, bet pamėginsiu pafantazuot.

Tarkim, turi pluginą, kuriam nustatai, jog /page/subpage1, turi rodyti kontentą, kurį įvedi į textbox1, o /page/subpage2, turi rodyti kontentą, kurį įvedi į textbox2 plugine? Tada perimi vienaip ar kitaip the_content() ir atvaizduoji tą tarkim textbox1, jei gauni /subpage1?

Tai aš nelabai ir suprantu, kam tą daryti, jei būtent tą ir daro child-pages? Tik 'right-way', o ne kažkokį mazochizmą.

Kam antrą kartą daryti pages / child-pages funkcionalumą? Tik dar juolabiau perkeliant į 'custom' UI kažkokį.. Padarai tiesiog shortcodą, tarkim, [plugin_content var=green], kuris atvaizduoja tai, ką tu nori, kad atvaizduotų iš plugino, custom db, ar dar velniai žino kur (pagal kokius nori parametrus, kuriuos paduodi į shortcode), tada automatiškai sukuri puslapį, ir įkali shortcodą į kontentą. Jei žmogui tas puslapis nepatinka - turi galimybę persivadinti jį, ištrinti, sukurti naują (ir vėl įdėti tą shortcode) ir pan.

 

Ai, o šiaip tai, daryk taip, kaip atrodo geriausiai. Tik taip anksčiau ar vėliau suprasi, ką ir kur darei gerai / blogai.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ne, aš visdar naudočiau child-pages. Nebent jau labai specifinis use-case, bet būtent dabar kažko tokio specifinio sugalvoti negaliu. Tačiau, bent jau aš custom URL naudočiau pvz tokiems dalykams kaip, kad /page/print (print variantas), /page/download (parsiunčia pvz attachmentą kokįnors), /page/redirect (nuredirectina į nurodytą URL) ar kažkaip panašiai. Contento kažkokio tikrai negeneruočiau dinamiškai pagal URL parametrus.

 

[...]

 

Ai, o šiaip tai, daryk taip, kaip atrodo geriausiai. Tik taip anksčiau ar vėliau suprasi, ką ir kur darei gerai / blogai.

 

Suprantu, galbut negera pavyzdi daviau.

 

Tarkim kuriu moduli 'karjeros', kuris sukuria visikai nauja sekcija tinklapyje, prieinama adresu /careers. Toje sekcijoje puslapiu daug skirtingu, pvz:

/careers/list

/careers/view/developer

/careers/view/software-engineer

[.. 50 dar darbu pavadinimu]

/careers/view/developer/apply

[.. kiekvienam darbui po /apply puslapi]

/careers/login

/careers/register

/careers/my-applications

 

Kaip matai, sistema leistu registruotis, prisijungti, ziureti darbus, siusti savo CV jiems, paziureti visus savo darbus i kuriuos siuntei aplikacijas ir pns. (admin panele kurti darbus, istrinti, ziureti kas aplikacijas siunte ir pns., todel reik custom UI). Ar tokiu atveju irgi kiekvienam puslapiui (tiek kiekvienam darbui, tiek puslapiam kaip /login ar /my-applications) kurti po atskira page? Kadangi siuo atveju, as nenoriu duoti vartotojui galimybes keisti tam tikru pages, nes sistema turi tureti tuos puslapius, nes ten reikalingas funkcionalumas. As kaip daugiausia su CodeIgniter dirbes, priprates kad kiekvienas 'modulis' saukiasi i tam tikra controller'i, kuris tada paziuri parametrus ir pagal tai sugeneruota content, ant WordPress'o tokia architektura nera gerai daryti?

Redagavo GPC
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tarkim kuriu moduli 'karjeros', kuris sukuria visikai nauja sekcija tinklapyje, prieinama adresu /careers. Toje sekcijoje puslapiu daug skirtingu, pvz:

/careers/list

/careers/view/developer

/careers/view/software-engineer

[.. 50 dar darbu pavadinimu]

/careers/view/developer/apply

[.. kiekvienam darbui po /apply puslapi]

/careers/login

/careers/register

/careers/my-applications

 


  •  
  • /careers/list/ - jokios problemos, pasidarai template, listini ką nori ir kaip nori
  • /careers/developer/ /careers/software-engineer/ - child-pages. Juk, vistiek kažkas /careers/developer/ contentą vistiek norės rašyti/keisti? Tai kodėl tu nori padaryti taip, kad kažkas kažkur turėtų eiti ir rašyti tą contentą į tavo sukurtą plugino UI / DB / ar pan, o ne tiesiogiai į WordPress editorių? Čia būtent tai, ką ir minėjau prieš tai.
  • /careers/developer/apply/ ir kiti /careers/XXX/apply/ page - čia jau yra blogas UI/UX pavyzdys, kai užėjęs į tam tikros pozicijos page turi dar kažkur kitur eiti tam, kad applyint. Forma turėtų būti jau pačiam /developer/. Jei būtina turėti kitą puslapį, tuomet tai vistiek turėtų būti atskiras /careers/apply/ puslapis, į kurį jau tada gali paduot /careers/apply/developer/ ar /careers/apply/software-engineer/ pozicijas kaip parametrus, o ne atvirkščiai.
  • /careers/login/ /careers/register/ /careers/my-applications/ - taip, bent jau aš daryčiau atskirus child-pages ir kontentą išvedinėčiau shortcode'ais.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Sukurti naują...