Вопрос или проблема
Я работаю над сайтом на WordPress, созданным довольно давно. В файле заголовка я вижу следующий код:
<?php
query_posts("page_id=63");
while ( have_posts() ) : the_post()
?>
<?php echo get_post_meta($post->ID, 'Header Info1', true) ; ?>
<?php
endwhile;
wp_reset_query();
?>
Мне нужно изменить номер телефона, который, я предполагаю, будет изменён путём изменения “Header Info1”, который извлекается как единственный пост с ID 63. Я проверил страницу с ID 63, но там нет ничего, связанного с “Header Info1”.
Мой вопрос: Где находятся пользовательские поля get_post_meta? Где я могу найти “Header Info1”, чтобы изменить его?
Вы можете сделать это либо редактируя таблицу базы данных wp_postmeta
: найдите post_id
= 63 и meta_key
= ‘Header Info1’, а затем измените значение meta_value
.
Другой, вероятно, более простой вариант — вызвать функцию update_post_meta()
, например так:
<?php
query_posts("page_id=63");
while ( have_posts() ) : the_post();
update_post_meta( get_the_ID(), 'Header Info1', 'new value' );
echo get_post_meta( get_the_ID(), 'Header Info1', true );
endwhile;
wp_reset_query();
Не забудьте удалить эту строку после обновления метаполя.
Но делать это через код или редактирование таблицы БД, вероятно, противоречит цели использования метаполей для дополнительного динамического содержимого постов/страниц.
Поэтому вы можете использовать какой-либо плагин, который предоставляет вам интерфейс для редактирования значений дополнительных полей. Не стесняйтесь искать ‘плагин пользовательских метаполей для wordpress’, есть несколько отличных простых в использовании решений.
Ответ или решение
Где находится значение get_post_meta?
Если вы работаете с сайтом на WordPress, и вас интересует, где изменить значение, получаемое с помощью функции get_post_meta
, то это может быть выполнено несколькими способами. В данном случае вы пытаетесь изменить мета-поле с именем Header Info1
, которое связано с постом (или страницей) с ID 63.
Понимание системы метаданных в WordPress
WordPress хранит мета-данные, которые можно присоединять к записям и страницам, в таблице базы данных wp_postmeta
. Каждый элемент таблицы wp_postmeta
содержит следующие ключевые поля:
- meta_id: Уникальный идентификатор записи метаданных.
- post_id: Идентификатор поста, с которым связаны метаданные.
- meta_key: Ключ мета-данных (в вашем случае это ‘Header Info1’).
- meta_value: Значение мета-данных.
Для того чтобы найти нужный элемент, вы можете использовать SQL-запрос, чтобы извлечь значение meta_value
из базы данных.
Как найти и изменить значение в базе данных?
-
Подключение к базе данных: Для начала вам необходимо подключиться к вашей базе данных WordPress. Обычно это делается с помощью phpMyAdmin или другого инструмента для работы с базовыми данными.
-
Построение SQL-запроса:
SELECT * FROM wp_postmeta WHERE post_id = 63 AND meta_key = 'Header Info1';
-
Редактирование значения: После того как вы нашли нужную запись, вам нужно будет отредактировать поле
meta_value
, чтобы изменить номер телефона или любое другое значение, которое там хранится.
Альтернативный способ: Использование функции update_post_meta()
Если вас интересует более программный подход, вы также можете изменить значение, используя функцию update_post_meta()
. Это особенно полезно, если вы планируете регулярно обновлять мета-данные:
<?php
query_posts("page_id=63");
while ( have_posts() ) : the_post();
update_post_meta( get_the_ID(), 'Header Info1', 'новое значение' );
echo get_post_meta( get_the_ID(), 'Header Info1', true );
endwhile;
wp_reset_query();
?>
Однако стоит отметить, что этот метод может изменить значение каждый раз, когда страница загружается. Поэтому лучше удалить строку с функцией update_post_meta()
после внесения изменений.
Использование плагина для более простого управления мета-полями
Для пользователей, не знакомых с работой с базами данных или PHP, рекомендуется воспользоваться плагинами, которые предоставляют графический интерфейс для управления кастомными полями. Вы можете выполнить поиск по фразе "плагины для редактирования пользовательских полей WordPress" и найти подходящие решения.
Заключение
Значения, возвращаемые функцией get_post_meta
, находятся в таблице wp_postmeta
в вашей базе данных WordPress. Вы можете изменять их напрямую через SQL-запросы, используя функции WordPress или воспользовавшись специальными плагинами для удобства управления. Важно выбрать метод, который лучше всего подходит для ваших нужд, чтобы обеспечить эффективное администрирование вашего сайта.