Как изменить добавление новых записей в WordPress?
Мне надо как-то переделать добавление новых записей, я хочу изменить вид, тип, чтоб было не так как сейчас, что добавляешь какие-то поля ручками и тд, а выделить список необходимых полей, без которых нельзя запись опубликовать. Я вижу так примерно: Поле 1(обязательный текст, название статьи). Поле 2 картинка (обязательно) поле 3 описание какое-то и тд. Но я не могу найти где это делать, как файл ответственный называется за это, чтоб я мог его переписать?
Дополнительно:
ACF фремиум
carbonfields полностью бесплатно
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Если Вы хотите изменить добавление записей так, чтобы у автора был понятный набор обязательных полей, не нужно заставлять его заполнять “произвольные поля руками”. Для этого есть нормальные инструменты: ACF, Carbon Fields, Meta Box или собственные metabox-поля.
Самый практичный вариант — ACF:
Если нужен отдельный тип материалов, лучше создать CPT, например
serviceилиcatalog_item, а не переделывать стандартные записи. Тогда в админке будет отдельный раздел с нужными полями и своим шаблоном.Пример регистрации CPT:
add_action('init', function () { register_post_type('service', [ 'label' => 'Услуги', 'public' => true, 'show_in_rest' => true, 'supports' => ['title', 'editor', 'thumbnail'], 'has_archive' => true, ]); });
Обязательность полей лучше делать на уровне ACF. Если пишете своё, можно проверять перед сохранением:
add_action('save_post_service', function ($post_id) { if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } if (empty($_POST['service_price'])) { remove_action('save_post_service', __FUNCTION__); wp_update_post([ 'ID' => $post_id, 'post_status' => 'draft', ]); } });
Но самодельная валидация быстро усложняется, поэтому ACF/Meta Box обычно дешевле и стабильнее.
Если нужно, чтобы админка выглядела как форма, можно скрыть лишние metaboxes через “Настройки экрана”, роли пользователей или код. Но не прячьте всё CSS-ом без логики: пользователь всё равно сможет сломать структуру.
Итог: создайте CPT под конкретный тип контента, задайте набор полей через ACF, сделайте шаблон вывода и ограничьте публикацию без обязательных данных. Это нормальная архитектура, а не хаос из произвольных полей.