t00rt
@t00rt

Как добавить поле ввода произвольных данных в админку при добавлении таксономии?

Есть потребность при добавлении новых пользовательских таксономий в админке сразу добавлять им метаданные.
Для наглядности картинка ниже, хотелось бы добавить сразу после "описания" еще одно поле для метаданных, так же как при создании постов.

Делал такое с помощью плагинов Pods и ACF но они тормозят время ответа сервера в два раза, желательно использовать только API WP, либо может есть более шустрый плагин.
59d980e824e95238068948.jpeg
  • Вопрос задан
  • 707 просмотров
Решения вопроса 1
Как то так:
<?php

add_action( 'category_add_form_fields', 'wpb_category_add_meta_columns', 10 );
add_action( 'category_edit_form_fields', 'wpb_category_add_meta_columns', 10, 2 );
add_action( 'edited_category', 'save_category_custom_meta', 10, 2 );
add_action( 'create_category', 'save_category_custom_meta', 10, 2 );

// Добавление очень нужного поля для категории
function wpb_category_add_meta_columns($term) {

?>
<tr class="form-field">
<th scope="row" valign="top">
	<label for="vipcf"><?php _e( 'Очень нужное поле' ); ?></label>
</th>
	<td>
		<textarea class="large-text" rows="5" cols="50" name="vipcf" id="vipcf"><?php echo get_term_meta( $term->term_id, 'vipcf', true); ?></textarea>
	</td>
</tr>

<?php
}

// Сохранение очень нужного поля для категории
function save_category_custom_meta( $term_id ) {
   	$term_id  = $_POST['tag_ID'];

	if ( isset( $_POST['vipcf'] ) ) {
	delete_term_meta( $term_id, 'vipcf' );
	add_term_meta( $term_id, 'vipcf', $_POST['vipcf'], true );
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы