Rozhodol som sa, že popíšem poslednú situáciu ktorú som riešil na wordpress v novej práci. Jednalo sa o úpravu kasíno webu a jeho štruktúry. Scripty nižšie možno samozrejme použiť aj na eshopy zavožené na wordpresse. Povedzme, že mám 20 kategórií a desiatky a potencionálne stovky dynamických stránok. Každá z týchto stránok má vzťah k inej, ktorý je definovaný manuálne, aby sa veci zjednodušili. Napríklad: kategória id 11 má vzťah k: 15,20,/casino/?s=xxx,39, kategória 10 má vzťah k 17,1 a 3 atď. Aký je najlepší spôsob uloženia týchto informácií? Na našom webe sme mali vlastnú tabuľku sql a používali týždenný prechod, premýšľal som, či je lepším prístupom prejsť na tabuľku možností wp. Dôvodom je moja obava o výkon. Samozrejme viem, že najlepším spôsobom je vždy najprv využiť možnosti, ktoré ponúka WordPress. A teda typy príspevkov a taxonómie.
Ako riešenie som použil funkciu Register taxonomy a to nasledovne:
function create_custom_taxonomies() {
register_taxonomy(
‚custom_category‘,
‚post‘,
array(
‚label‘ => __(‚Custom Category‘),
‚rewrite‘ => array(‚slug‘ => ‚custom-category‘),
‚hierarchical‘ => true,
)
);
}
add_action(‚init‘, ‚create_custom_taxonomies‘);
A následne som použil Custom fields:
if (function_exists(‚acf_add_local_field_group‘)) {
acf_add_local_field_group(array(
‚key‘ => ‚group_1‘,
‚title‘ => ‚Custom Fields‘,
‚fields‘ => array(
array(
‚key‘ => ‚field_1‘,
‚label‘ => ‚Related Categories‘,
‚name‘ => ‚related_categories‘,
‚type‘ => ‚text‘,
),
),
‚location‘ => array(
array(
array(
‚param‘ => ‚post_type‘,
‚operator‘ => ‚==‘,
‚value‘ => ‚post‘,
),
),
),
));
}
A obavy o výkon webu som vyriešil nakoniec častejším ukladaním do keše. Toto je z môjho pohľadu elegantné riešenie problému z robustným webom ktorý generuje desiatky „postov“ o casínach každý týždeň.
Celá debata | RSS tejto debaty