@feniksdv

Как в wordpress записать данные шаблона, картинки, тайла, дескрипшина в БД?

Привет.
$updated_post_arr_ = array(
                'post_title' => 'Test20201', 
                'post_content' => $contents[0]["name_bank_ru"],
                'post_author' => '5',
                'comment_status' => 'open',
                'page_template' => 'content-current.php', //записывает поумолчанию default
                'post_status' => 'publish',
                'post_category' => array(129),
                'tags_input' => array('Активен')
            );

            // обновляем пост (все остальные его параметры останутся прежними)
            $my_post_id_ = wp_insert_post($updated_post_arr_);


вот эта строчка 'page_template' => 'content-current.php', default по идее должна записывать, то что в кавычках, но записывает дефолтный шаблон.

А также хочу записать при создании поста:
1. картинку поста
2. тайтл
3. дескрипшин.
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Поле таблицы page_template было удалено, теперь, шаблон для постоянной страницы задается в метаполе _wp_page_template с помощью add_post_meta() или update_post_meta()

Тайтлов и дескрипшинов по умолчанию в WP нет, предположу, что вы пользуетесь каким-то сеошным плагином и, скорее всего, он так же хранит эти данные в мета-полях записей. Поэтому найдите в документации или базе как называются ключи у этих полей и используйте те же функции add_post_meta() или update_post_meta()

Что касается установки изображения записи, вы можете воспользоваться функцией media_sideload_image() или сочетанием wp_insert_attachment() и set_post_thumbnail(). Разница в том, что первая загружает изображение в медиатеку WP и устанавливает его для записи, а последние создают только записи в базе

PS. Для отдельной установки категорий, таксономий и тегов вам может пригодится функция wp_set_object_terms()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы