Функция записи данных из контента в произвольное поле

Понадобилось мне записывать в произвольное поле данные из контента поста. Этот php код можно использовать и для записи данных из парсеров. Для этого нужно будет в этот код подставить другие переменные и значения, но каркас останется и он приведен в качестве примера.

Я уже рассказывал о регулярных выражениях и приводил пример работы PHP функции preg_match. Здесь она тоже будет использоваться.

Код такой:

<?php

preg_match("/<h2>(.*?)<\/h2>/s", $post->post_content, $author_name);

$post_id = $GLOBALS['post']->ID;

$book_author_update = get_post_meta( $post->ID, 'book_author', true );

if( empty( $book_author_update) ) {

    update_post_meta( $post_id, 'book_author', $author_name[1] );

} ?>

Принцип работы следующий. Сначала мы ищем с помощью preg_match данные в записи между тегами h2. Затем мы создаем переменную book_author_update, которой присваиваем значения произвольного поля с именем book_author. А дальше проверяем, если поле пустое, то записываем в него какие-то данные. Если там уже содержатся данные, то ничего не трогаем.

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Функция записи данных из контента в произвольное поле"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>