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

Admin WordPress

Понадобилось мне записывать в произвольное поле данные из контента поста. Этот 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. А дальше проверяем, если поле пустое, то записываем в него какие-то данные. Если там уже содержатся данные, то ничего не трогаем.

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

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

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