ບໍ່ດົນມານີ້ຂ້າພະເຈົ້າມີຄວາມຕ້ອງການທີ່ຈະເກັບຂໍ້ມູນ meta ພິເສດບາງຢ່າງໃນແຕ່ລະປະເພດ / ພາສີຕາມປະເພນີໃນ WordPress. ໂດຍພື້ນຖານແລ້ວ, ຂ້ອຍພຽງແຕ່ຕ້ອງການເພີ່ມພາກສະ ໜາມ ຕື່ມ. ມັນເປັນພຽງແຕ່ເລື່ອງງ່າຍໆຂອງການຊອກຫາສຽງທີ່ຖືກຕ້ອງແລະການສ້າງໂປແກຼມ meta ປະເພດງ່າຍໆ. ພວກເຮົາບໍ່ໄດ້ເພີ່ມປະເພດ ໃໝ່ ທັງ ໝົດ, ພວກເຮົາພຽງແຕ່ຕ້ອງການເກັບຮັກສາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບປະເພດທີ່ມີຢູ່ແລ້ວ, ສະນັ້ນຂ້າພະເຈົ້າພຽງແຕ່ຕິດເຂົ້າໃນແບບຟອມແກ້ໄຂ.
ຂ້ອຍຍັງຕ້ອງການໃຫ້ສິ່ງນີ້ເຮັດວຽກໂດຍບໍ່ຕ້ອງໃຊ້ຕາຕະລາງທີ່ ກຳ ຫນົດເອງ, ແຕ່ວ່າບໍ່ມີບ່ອນໃດທີ່ດີທີ່ຈະເກັບຂໍ້ມູນກ່ຽວກັບການຈັດລຽງແບບນີ້ພາຍໃນຕາຕະລາງ WordPress ເດີມ. ຂ້ອຍໄດ້ຕັດສິນໃຈວ່າຕາຕະລາງ wp_options ຈະ ເໝາະ ສົມທີ່ສຸດຕັ້ງແຕ່ເມື່ອມັນລົງມາ, ເວັບໄຊທ໌ສ່ວນໃຫຍ່ຈະບໍ່ມີຫຼາຍກ່ວາສອງຮ້ອຍປະເພດ. ບໍ່ມີຂໍ້ມູນພຽງພໍທີ່ຈະຖືກເກັບໄວ້ໃນທີ່ສຸດຂອງພວກເຮົາ ສຳ ລັບບັນຫານີ້ເພື່ອສ້າງບັນຫາ.
add_action ('category_edit_form_fields', 'taxonomy_meta_form_fields'); add_action ('ດັດແກ້ _ ປະເພດ', 'taxonomy_meta_form');
ການປະຕິບັດຄັ້ງ ທຳ ອິດແມ່ນໃຊ້ໃນຮູບແບບການແກ້ໄຂປະເພດ / ພາສີ. ມັນສະແດງແບບຟອມທີ່ພວກເຮົາໄດ້ສ້າງແລະອອກມາຈາກ ໜ້າ ທີ່ເອີ້ນວ່າ taxonomy_meta_form_fields. ການກະ ທຳ ທີສອງເອີ້ນວ່າ taxonomy_meta_form ເມື່ອຮູບແບບປະເພດຖືກດັດແກ້ຕົວຈິງ.
ລະຫັດເຕັມ
add_action ('category_edit_form_fields', 'taxonomy_meta_form_fields'); add_action ('ດັດແກ້ _ ປະເພດ', 'taxonomy_meta_form'); function taxonomy_meta_form () {ຖ້າ (! current_user_can ('manage_options')) // ໃຫ້ແນ່ໃຈວ່າຜູ້ໃຊ້ມີສິດທີ່ ເໝາະ ສົມກັບຄືນ; ຖ້າ ($ _ POST ['extra_title']) {$ extra_title = sanitize_text_field ($ _ POST ['extra_title']); // ໃຫ້ແນ່ໃຈວ່າບໍ່ມີຫຍັງທີ່ເປັນອັນຕະລາຍ $ extra_titles = get_option ('extra_taxonomy_titles'); $ extra_titles = unserialize ($ ພິເສດ); $ cat_ID = (int) $ _ POST ['tag_ID']; $ ພິເສດ [$ cat_ID] = $ ພິເສດ; // ອັບເດດຄຸນຄ່າ ສຳ ລັບ ID update_option ຂອງປະເພດນີ້ ('extra_taxonomy_titles', $ extra_titles); // ເກັບອາເລ, WP ຈັດການລະຫັດຕໍ່}} ຟັງຊັນ taxonomy_meta_form_fields ($ tag) {$ cat_ID = $ tag-> term_id; $ extra_titles = get_option ('extra_taxonomy_titles'); $ extra_title = $ ພິເສດ [$ cat_ID]; ?>
ເຂົ້າໄປໃນພາສີພາສີ
add_action ('TAXONOMYNAME_edit_form_fields', 'taxonomy_meta_form_fields'); add_action ('ແກ້ໄຂ_TAXONOMYNAME', 'taxonomy_meta_form');
ເພື່ອເຮັດການກະ ທຳ ແບບດຽວກັນນີ້, ແຕ່ ສຳ ລັບການເກັບພາສີແບບປົກກະຕິແທນທີ່ຈະ, ມັນແມ່ນເລື່ອງງ່າຍໆຂອງການປ່ຽນ hook ການກະ ທຳ. ພຽງແຕ່ທົດແທນ TAXONOMYNAME ຂ້າງເທິງດ້ວຍແຜ່ນສະໄລ້ທີ່ມີສ່ວນກ່ຽວຂ້ອງກັບພາສີຂອງລູກຄ້າຂອງທ່ານ.
ສະແດງຂໍ້ມູນ
ເພື່ອເອົາຂໍ້ມູນທີ່ເກັບໄວ້ໃຫ້ພວກເຮົາໃນ ໜ້າ ຮ້ານ, ຂ້ອຍແນະ ນຳ ໃຫ້ສ້າງຟັງຊັນທີ່ງ່າຍດາຍ ສຳ ລັບເກັບໄວ້ໃນແຟ້ມ functions.php ຂອງຫົວຂໍ້ຂອງທ່ານ:
function tj_extra_title ($ id) {$ extra_titles = get_option ('extra_taxonomy_titles'); $ extra_titles = unserialize ($ ພິເສດ); $ extra_title = $ ພິເສດ [$ id]; ກັບຄືນ $ extra_title; }
ຈາກນັ້ນ, ມັນສາມາດຖືກເອີ້ນຈາກ ໜ້າ ແມ່ແບບດັ່ງຕໍ່ໄປນີ້:
$ extra_title = tj_extra_title ($ category-> term_id); // ປ່ຽນ id ກັບຕົວປ່ຽນໃດກໍ່ຕາມທີ່ ເໝາະ ສົມກັບສະພາບການຂອງທ່ານ echo $ extra_title;
ເບິ່ງລະຫັດໃນ github. ຖາມ ຄຳ ຖາມດ້ານລຸ່ມ.