WordPress
Создать сообщение программно
Поиск…
Синтаксис
- wp_insert_post (массив $ args, bool $ wp_error);
параметры
параметр | Описание |
---|---|
$ args (Требуется Array) | Массив значения ключа из приведенных ниже элементов. |
$ wp_error (Boolean Необязательно) | Верните WP_Error в случае сбоя. |
замечания
аргументы
В следующей таблице показан список элементов, которые можно использовать внутри первого параметра (Array).
параметр | Описание |
---|---|
Я БЫ | (Int) Идентификатор сообщения. Если значение равно чем 0, сообщение с этим идентификатором будет обновлено. По умолчанию 0. |
post_author | (Int) Идентификатор пользователя, который добавил сообщение. По умолчанию используется текущий идентификатор пользователя. |
Дата публикации | (String) Дата публикации. Значение по умолчанию - текущее время. |
post_date_gmt | (String) Дата публикации в часовой пояс GMT. Значение по умолчанию - значение $ post_date. |
POST_CONTENT | (Смешанный) Содержание сообщения. По умолчанию пустой. |
post_content_filtered | (String) Отфильтрованное содержимое сообщения. По умолчанию пустой. |
Заголовок поста | (String) Заголовок сообщения. По умолчанию пустой. |
post_category | (Массив) Массив значений категории публикации. |
post_excerpt (String) Выдержка из сообщения. По умолчанию пустой. | |
post_status | (String) Статус сообщения. Черновик по умолчанию. |
post_type | (String) Тип сообщения. Сообщение по умолчанию. |
comment_status | (String) Может ли почта принимать комментарии. Принимает открытые или закрытые. Значение по умолчанию - значение параметра default_comment_status. |
ping_status | (String) Может ли почта принимать пинги. Принимает открытые или закрытые. Значение по умолчанию - значение параметра default_ping_status. |
post_password | (String) Пароль для доступа к сообщению. По умолчанию пустой. |
POST_NAME | (String) Название сообщения или слизняк. Значение по умолчанию - это дезинфицированное название должности при создании нового сообщения. |
to_ping | (String) Пробел или список возвратов, разделенных возвратом, к URL-адресу для ping. По умолчанию пустой. |
пингуется | (String) Пробел или переадресованный список URL-адресов, которые были отсканированы. По умолчанию пустой. |
post_modified | (String) Дата последнего изменения сообщения. Значение по умолчанию - текущее время. |
post_modified_gmt | (String) Дата последнего изменения сообщения в часовой пояс GMT. Значение по умолчанию - текущее время. |
post_parent | (Int) Установите это для сообщения, к которому он принадлежит, если таковой имеется. По умолчанию 0. |
menu_order | (Int) Порядок, в котором должно отображаться сообщение. По умолчанию 0. |
post_mime_type | (String) Тип mime сообщения. По умолчанию пустой. |
справ | (String) Глобальный уникальный идентификатор для ссылки на сообщение. По умолчанию пустой. |
tax_input | (Массив) Массив таксономических терминов, определяемый их именем таксономии. По умолчанию пустой. |
meta_input | (Array) Массив значений post meta, определяемых их метатетом сообщения. По умолчанию пустой. |
Избегайте дублированных сообщений
Когда вы выполняете эту функцию, вы, вероятно, можете получить дублированный пост, по крайней мере, это случилось со мной. (Вы можете проверить его в разделе Post WordPress)
Я нашел решение :
if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){
$my_post = array('post_title' => $title,
'post_content' => 'Content',
'tags_input' => $tags,
'post_category' => array(2),
'post_status' => 'publish'
);
$result = wp_insert_post( $my_post );
}
объяснение
Прежде чем сохранять новую запись, проверьте, существует ли новое сообщение, используя заголовок сообщения в качестве параметра, если нет заголовка сообщения, вы можете сохранить новое сообщение.
Проверьте документацию get_page_by_title в здесь .
Вступление
Иногда у нас есть другой редактор где-то в другом месте вместо TinyMCE (редактор Wordpress по умолчанию). Это происходит, когда мы создаем нашу собственную тему, плагин или что-то конкретное; и нам нужно писать и манипулировать типом сообщения и сохранять его в нашей базе данных WP.
Итак, если вы находитесь в этой ситуации, вы можете использовать функцию Wordpress, называемую:
wp_insert_post( array $args, bool $wp_error );
Создать основную должность
$basic_post_args = array(
'post_title' => 'My Basic Post',
'post_content' => 'This is a basic content',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8, 59)
);
wp_insert_post( $basic_post_args );
Создание базовой страницы
$basic_page_args = array(
'post_title' => 'My Basic Page',
'post_content' => 'This is a basic content',
'post_type' => 'page',
'post_status' => 'publish',
'post_author' => 1
);
wp_insert_post( $basic_page_args );