Я часто нахожусь в дороге или на объекте. Поэтому лучше напишите мне в телеграм и я вам отвечу в ближайшее время.

Коды для добавления произвольных полей WordPress Custom Fields

Добавление Custom Field в пост:

function add_custom_field_to_post($post_id) {
    if (isset($_POST['custom_field_name'])) {
        $custom_field_value = sanitize_text_field($_POST['custom_field_name']);
        update_post_meta($post_id, 'custom_field_key', $custom_field_value);
    }
}
add_action('save_post', 'add_custom_field_to_post');

Код вызова дополнительного поля:

$custom_field_value = get_post_meta(get_the_ID(), 'custom_field_key', true);
echo $custom_field_value;

Добавление Custom Field в пользовательский тип записи:

function add_custom_field_to_custom_post_type($post_id) {
    if (get_post_type($post_id) == 'custom_post_type') {
        if (isset($_POST['custom_field_name'])) {
            $custom_field_value = sanitize_text_field($_POST['custom_field_name']);
            update_post_meta($post_id, 'custom_field_key', $custom_field_value);
        }
    }
}
add_action('save_post', 'add_custom_field_to_custom_post_type');

Код вызова дополнительного поля:

if (get_post_type() == 'custom_post_type') {
    $custom_field_value = get_post_meta(get_the_ID(), 'custom_field_key', true);
    echo $custom_field_value;
}

Добавление Custom Field в виджет:

function add_custom_field_to_widget($instance, $widget_class) {
if ($widget_class == 'Custom_Widget_Class') {
if (isset($instance['custom_field_name'])) {
$custom_field_value = sanitize_text_field($instance['custom_field_name']);
update_option('custom_widget_field', $custom_field_value);
  }
 }
return $instance;
}
add_filter('widget_update_callback', 'add_custom_field_to_widget', 10, 2);

Код вызова дополнительного поля:

$custom_field_value = get_option('custom_widget_field');
echo $custom_field_value;

Добавление Custom Field в тему:

function add_custom_field_to_theme() {
    if (isset($_POST['custom_field_name'])) {
        $custom_field_value = sanitize_text_field($_POST['custom_field_name']);
        update_option('custom_theme_field', $custom_field_value);
    }
}
add_action('admin_post_save_custom_field', 'add_custom_field_to_theme');

Код вызова дополнительного поля:

$custom_field_value = get_option('custom_theme_field');
echo $custom_field_value;

WordPress Custom Fields — мощный инструмент, позволяющий добавлять дополнительные поля к постам, страницам, пользовательским типам записей и другим элементам WordPress. Custom Fields позволяют расширить функциональность вашего сайта и добавить дополнительную информацию к контенту.

Для добавления Custom Field в пост или страницу, можно использовать функцию update_post_meta(). Например, следующий код добавит поле «Цена» к каждому посту:

function add_custom_field_to_post($post_id) {
    if (isset($_POST['custom_field_name'])) {
        $custom_field_value = sanitize_text_field($_POST['custom_field_name']);
        update_post_meta($post_id, 'custom_field_key', $custom_field_value);
    }
}
add_action('save_post', 'add_custom_field_to_post');

Теперь, при сохранении поста, значение поля «Цена» будет сохраняться в базе данных. Чтобы вывести значение Custom Field в шаблоне, можно использовать функцию get_post_meta(). Например:

$custom_field_value = get_post_meta(get_the_ID(), 'custom_field_key', true);
echo $custom_field_value;

Таким образом, значение поля «Цена» будет отображаться на странице каждого поста.

Также можно добавлять Custom Fields к пользовательским типам записей. Для этого необходимо использовать тот же код, но добавить проверку на тип записи. Например:

function add_custom_field_to_custom_post_type($post_id) {
    if (get_post_type($post_id) == 'custom_post_type') {
        if (isset($_POST['custom_field_name'])) {
            $custom_field_value = sanitize_text_field($_POST['custom_field_name']);
            update_post_meta($post_id, 'custom_field_key', $custom_field_value);
        }
    }
}
add_action('save_post', 'add_custom_field_to_custom_post_type');

Таким образом, поле «Цена» будет добавляться только к записям типа «custom_post_type».

Custom Fields также могут быть добавлены в виджеты. Для этого необходимо использовать хук widget_update_callback. Например:

function add_custom_field_to_widget($instance, $widget_class) {
if ($widget_class == 'Custom_Widget_Class') {
if (isset($instance['custom_field_name'])) {
$custom_field_value = sanitize_text_field($instance['custom_field_name']);
update_option('custom_widget_field', $custom_field_value);
  }
 }
return $instance;
}
add_filter('widget_update_callback', 'add_custom_field_to_widget', 10, 2);

Теперь, при сохранении виджета, значение поля «Цена» будет сохраняться в опции «custom_widget_field». Чтобы вывести значение Custom Field в виджете, можно использовать следующий код:

$custom_field_value = get_option('custom_widget_field');
echo $custom_field_value;

Наконец, Custom Fields могут быть добавлены и в тему WordPress. Для этого можно использовать хук admin_post_save_custom_field. Например:

function add_custom_field_to_theme() {
    if (isset($_POST['custom_field_name'])) {
        $custom_field_value = sanitize_text_field($_POST['custom_field_name']);
        update_option('custom_theme_field', $custom_field_value);
    }
}
add_action('admin_post_save_custom_field', 'add_custom_field_to_theme');

Теперь, при сохранении настроек темы, значение поля «Цена» будет сохраняться в опции «custom_theme_field». Чтобы вывести значение Custom Field в теме, можно использовать следующий код:

$custom_field_value = get_option('custom_theme_field');
echo $custom_field_value;

В заключение, WordPress Custom Fields предоставляют возможность добавлять дополнительные поля к различным элементам WordPress и расширять функциональность вашего сайта. Коды, предоставленные выше, помогут вам добавлять и выводить значения Custom Fields в разных местах вашего сайта. Используйте Custom Fields для улучшения пользовательского опыта и более гибкой настройки контента на вашем сайте.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *