Как автоматически добавлять произвольное поле в пост

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Есть темы, к которых многое зависит от произвольных полей. Если произвольное поле, которое вы указываете в посте, все время одинаковое (например, вставка рекламного кода или социальных кнопок с помощью произвольных полей), то его можно интегрировать в посты автоматически.

Для этого откройте файл functions.php и вставьте в него такой код:

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'field-name', 'custom value', true);
    }
}

В этом коде add_action(‘publish_page’, ‘add_custom_field_automatically’); отвечает за вставку произвольного поля в страницу, add_action(‘publish_post’, ‘add_custom_field_automatically’); — вставку произвольного поля в пост, field-name нужно заменить на наименование произвольного поля, а custom value — на его содержимое.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. ig0r74

    А как сделать форму для заполнения произвольных полей, т.е. чтобы не нужно было по отдельности каждое поле добавлять, а появлялась форма как например в All in one SEO pack для ввода title, description и т.д. Желательно не плагином а также через functions.php

    Ответить
    1. А зачем? Этот метод хорош, когда нужно использовать одни и те же произвольные поля во всех постах. К тому же один раз заполнил и забыл, зачем еще формы создавать?

      Ответить
  2. Grawl

    а custom value — на его содержимое.

    То есть, от введённого в редакторе ничего не используется?

    Ответить
  3. Почему не используется? Используется. Но вот интересно — что будет, если два раза использовать одно и то же произвольное поле?

    Ответить