Ech hat viru kuerzem e Besoin fir e puer extra Meta-Informatioun iwwer all Kategorie / Custom Taxonomy zu WordPress ze späicheren. Am Fong brauch ech just en extra Feld derbäi ze maachen. Et war just eng einfach Saach déi richteg Haken ze fannen an en einfachen Kategorie meta Plugin ze maachen. Mir maachen net vill nei Kategorien bäizefüügen, mir brauche meeschtens e puer zousätzlech Informatiounen iwwer déi existent ze späicheren, sou datt ech just an d'Ännerungsform ageschloss sinn.

Ech wollt och datt dëst funktionnéiert ouni personaliséiert Dëscher ze benotzen, awer et ass wierklech keng gutt Plaz fir Informatioun vun dëser Zort an de Standard WordPress Tabellen ze späicheren. Ech hunn decidéiert datt den wp_options Dësch am Beschten géif passen, well wann et drop ukënnt, wäerten déi meescht Site net méi wéi e puer honnert Kategorien hunn. Et gëtt net genuch Informatioun op eisem Enn gespäichert fir dëst e Problem ze kreéieren.

add_action ('category_edit_form_fields', 'taxonomy_meta_form_fields'); add_action ('edited_category', 'taxonomy_meta_form');

Déi éischt Handlung hak an der Kategorie / Taxonomie Editform. Et weist d'Form un, déi mir erstallt hunn an d'Ausgab vun der Funktioun genannt Taxonomy_meta_Form_felder. Déi zweet Aktioun nennt Taxonomy_meta_Form wann d'Kategorieform tatsächlech geännert gëtt.

Voll Code

add_action ('category_edit_form_fields', 'taxonomy_meta_form_fields'); add_action ('edited_category', 'taxonomy_meta_form'); funktion taxonomy_meta_form () {if (! aktuelle_user_can ('managen_optiounen')) // suergt sécher datt de Benotzer de passenden Permisiounen zréck huet; if ($ _ POST ['extra_title']) {$ extra_title = sanitize_text_field ($ _ POST ['extra_title']); // sécherstellen näischt béisaarteg $ extra_titles = get_option ('extra_taxonomy_titles'); $ extra_titles = unserialize ($ extra_titles); $ cat_ID = (int) $ _ POST ['tag_ID']; $ extra_titles [$ cat_ID] = $ extra_title; // update de Wäert fir dës Kategorie ID update_option ('extra_taxonomy_titles', $ extra_titles); // Store d'Array, WP geréiert d'Serialiséierung}} Funktioun taxonomy_meta_form_fields ($ Tag) {$ cat_ID = $ tag-> term_id; $ extra_titles = get_option ('extra_taxonomy_titles'); $ extra_title = $ extra_titles [$ cat_ID]; ?>

Hooking an Benotzerdefinéiert Taxonomien

add_action ('TAXONOMYNAME_edit_form_fields', 'taxonomy_meta_form_fields'); add_action ('edited_TAXONOMYNAME', 'taxonomy_meta_form');

Fir déiselwecht Handlung ze maachen, awer fir personaliséiert Taxonomien amplaz, ass et eng einfach Saach fir den Aktionshook z'änneren. Einfach TAXONOMYNAME hei uewen ersetzen duerch de Slug dee mat Ärer personaliséierter Taxonomie verbonne gëtt.

Informatioun weisen

Fir d'Informatioun ze kréien déi fir eis am Frontend gelagert ass, empfeele ech eng einfach Funktioun ze kreéieren fir an Ärem Funktiounen vun Ärem Thema ze späicheren.

funktion tj_extra_title ($ id) {$ extra_titles = get_option ('extra_taxonomy_titles'); $ extra_titles = unserialize ($ extra_titles); $ extra_title = $ extra_titles [$ id]; zréck $ extra_title; }

Da kënnt et vun enger Schabloun Säit wéi follegt geruff ginn:

$ extra_title = tj_extra_title ($ Kategorie-> term_id); // den ID ersetzen mat egal wat fir eng Variabel passend ass fir Äre Kontext Echo $ extra_title;

Gesinn de Code op github. Stellt Froen hei drënner.