Теперь, когда вышел WordPress 4.4, мы можем начать использовать новые потрясающие мета-функции термина!
Тем не менее, кажется, нет простого руководства о том, как добавить базовое текстовое поле в таксономию. Я попытался приспособить это удивительное руководство Джастина Тэдлока к своим потребностям, удалив весь код, относящийся к палитре цветов, и заменил его простым полем ввода текста ... но он не работает.
Может ли кто-нибудь предоставить пример работающего кода? Без проверки данных, одноразовых номеров, палитр цветов ... просто минимальное текстовое поле, добавленное на страницу Добавить таксономию / Изменить таксономию.
Обновление: тем временем я сделал несколько вариантов этого фрагмента кода:
Добавить мета-поле термина в категорию :
https://gist.github.com/ms-studio/543a0f7dd8ac05ccf037Добавьте мета-поле термина в тег публикации :
https://gist.github.com/ms-studio/2d78ad3839e05ece2e48Добавьте мета-поле термина в пользовательскую таксономию :
https://gist.github.com/ms-studio/fc21fd5720f5bbdfaddcДобавьте несколько мета-полей терминов в пользовательскую таксономию :
https://gist.github.com/ms-studio/aeae733f5fd9fc524bbc
Ответы:
Это добавит поле под названием «TERM META TEXT» в ваши категории. Я вытащил одноразовый номер, но я действительно думаю, что он должен вернуться. Кроме того, лучше иметь некоторую дезинфекцию, чем ничего. Этот пример включает в себя javascript и CSS-хуки, которые вам могут понадобиться или не понадобиться, но вы можете быстро увидеть, как все части идут вместе.
Наслаждайтесь!
источник
___save_term_meta_text( $term_id )
... и это решило проблему, метатекст теперь сохраняется при создании нового термина! Поэтому я принимаю ваш ответ, так как он содержит именно то, что мне нужно для начала.___add_form_field_term_meta_text()
функции. После добавления все работает как положено.check_admin_referer( 'add-tag', '_wpnonce_add-tag' );
иcheck_admin_referer( 'update-tag_' . (int) $_POST['tag_ID'] )
в'edit_category'
и'category_category'
действиях.___register_term_meta_text()
функции третий параметр устарел и заменен на массив. Вы должны будете использовать что-то вроде:$args = array( 'type' => 'string', 'description' => 'A text field', 'single' => 'false', 'sanitize_callback' => '___sanitize_term_meta_weare_product', 'auth_callback' => null, 'show_in_rest' => false, ); register_meta( 'term', '__term_meta_text', $args );