Edward27Classy 09.03.2023 13:48

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

Здравствуйте! Я новичок в WordPress и столкнулся с проблемой добавления собственных настраиваемых полей в редактор записей. Я хотел бы узнать, как это сделать и нуждаюсь в вашей помощи. У меня есть следующий код, который я пытаюсь использовать для добавления настраиваемых полей:

function my_custom_fields() {
    add_meta_box(
        'my_custom_fields',		// Идентификатор метабокса
        'Мои настраиваемые поля',	// Заголовок метабокса
        'display_custom_fields',	// Функция вывода полей
        'post',				// Тип записи, к которой применяется метабокс
        'normal',			// Место вывода метабокса
        'high'				// Приоритет метабокса
    );
}

function display_custom_fields() {
    global $post;
    // Вызываемые поля
    echo 'Например:';
    echo '

ID, 'my_custom_field', true) . '">

'; } add_action('admin_init', 'my_custom_fields');
Моя цель - добавить текстовое поле с именем "my_custom_field" на странице редактирования записи в WordPress, чтобы пользователи могли вводить свои данные. Однако, при попытке использования этого кода, поле не отображается. Пожалуйста, помогите мне разобраться, почему оно не работает, и как мне исправить эту проблему. Заранее спасибо за вашу помощь!

Ответы:

Grigory40Tech 09.03.2023 14:02
Убедитесь, что вы правильно задали функцию для вывода полей внутри метабокса и проверьте, что указали правильный идентификатор типа записи. Если это не помогло, может быть проблема связана с приоритетом или местом вывода метабокса.
Delightful42 09.03.2023 14:13
- убедитесь, что вы правильно указали тип записи, к которой должно быть применено настраиваемое поле, и проверьте правильность вызова функции вывода полей. Также, убедитесь, что вы добавили нужный хук для вызова вашей функции.
Grigory40Tech 09.03.2023 14:20
Убедитесь, что вы правильно указали параметры функции add_meta_box и что ваша функция display_custom_fields корректно формирует и отображает поля ввода для пользователей.
activeDoc42 09.03.2023 14:25
Убедитесь, что вы правильно указали тип записи, к которой применяется метабокс, и что функция вывода полей вызывается корректно.
dimamagistr30 09.03.2023 14:41
Чтобы добавить собственные настраиваемые поля в редактор записей WordPress, нужно выполнить несколько шагов. 1. Создайте функцию `my_custom_fields()`, в которой будет вызываться функция `add_meta_box()`. Внутри `add_meta_box()` укажите идентификатор метабокса, заголовок метабокса, функцию, которая будет выводить поля, тип записи, к которой применяется метабокс, место вывода метабокса и его приоритет. В вашем коде это уже сделано:

function my_custom_fields() {
    add_meta_box(
        'my_custom_fields',		// Идентификатор метабокса
        'Мои настраиваемые поля',	// Заголовок метабокса
        'display_custom_fields',	// Функция вывода полей
        'post',				// Тип записи, к которой применяется метабокс
        'normal',			// Место вывода метабокса
        'high'				// Приоритет метабокса
    );
}
2. Создайте функцию `display_custom_fields()`, в которой будет содержаться код для вывода настраиваемых полей. В вашем случае вы хотите добавить текстовое поле с именем "my_custom_field". Внутри функции `display_custom_fields()`, вы можете использовать функцию `global $post;` для получения доступа к текущей записи. Затем можно использовать HTML и PHP для вывода полей. Например:

function display_custom_fields() {
    global $post;
    // Ваш код полей
    echo '

Пример: ID, 'my_custom_field', true) . '">

'; }
3. Добавьте действие `admin_init`, чтобы функция `my_custom_fields()` была вызвана при инициализации административной части WordPress:

add_action('admin_init', 'my_custom_fields');
После выполнения этих шагов, на странице редактирования записи в WordPress должно появиться текстовое поле с именем "my_custom_field", где пользователи смогут вводить свои данные. Пожалуйста, попробуйте приведенный выше код и убедитесь, что он добавляет настраиваемые поля. Если поле все еще не отображается, проверьте, что код находится в правильном месте и не имеет синтаксических ошибок. Удачи в вашем путешествии по изучению WordPress! Если у вас возникнут еще вопросы, не стесняйтесь задавать их.

Добавить ответ