Я часто нахожусь в дороге или на объекте. Поэтому лучше напишите мне в телеграм и я вам отвечу в ближайшее время.
Персональный блог
Персональный блог
Коды для добавления произвольных полей 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 для улучшения пользовательского опыта и более гибкой настройки контента на вашем сайте.