Intereting Posts
Как удалить атрибут novalidate из формы комментария Как настроить новый приветственный адрес пользователя Несколько разделов контента на пользовательском сообщении Каков правильный ход с SSL для пользовательского сайта? Как переопределить wp_insert_comment () доступ к wp.media api из плагина tinymce Как использовать командные строки, активировать тему в wp-cli, также настроить тему Vagrant / Sage? wp_nonce для формы отправки Front-End не работает Скрыть элементы управления Shortcode по умолчанию на странице Load Улучшение безопасности WordPress путем скрытия непубличных ресурсов WordPress на XAMPP по моей домашней сети Производительность при получении метаданных для почты, полученной с помощью метазначения Меню «Открыть» не работает в режиме «Мобильный» Транспоз японского перевода не появляется Можно ли использовать функцию has_posts для перечисления персонализированных сообщений типа post внутри категории?

wp_insert_post работает, но сообщение не отображается в списке сообщений администратора или в интерфейсе

Я пытаюсь создать страницу на сайте во время активации плагина. Код работает без ошибок, и вызов функции возвращает идентификатор сообщения, но когда я проверяю список страниц в области администратора, там ничего нет. WordPress обнаруживает их, как будто я иду в пункт меню страниц, число uinder All () увеличилось, но количество опубликованных страниц не было.

$postarr["post_content"] = "[submission_widget]"; $postarr["post_title"] = "Submit Content"; $postarr["post_status"] = "published"; $postarr["post_type"] = "page"; $postarr["post_name"] = sanitize_title("Submit Content"); $postarr["post_date_gmt"] = date('Ymd H:i:s', time()); $postarr["post_date"] = date('Ymd H:i:s', time()); $postarr["post_modified"] = date('Ymd H:i:s', time()); $postarr["post_modified_gmt"] = date('Ymd H:i:s', time()); $postid = wp_insert_post($postarr, true); update_post_meta( $postid, '_visibility', 'visible' ); 

Чтобы дважды проверить, я вошел в таблицу сообщений в БД, и я вижу, что сообщение есть. Я не вижу в этом ничего плохого, но чего-то явно не хватает. Где я иду не так?

Solutions Collecting From Web of "wp_insert_post работает, но сообщение не отображается в списке сообщений администратора или в интерфейсе"

Проблема заключается в $postarr["post_status"] = "published"; вы должны изменить его на

 $postarr["post_status"] = "publish"; // Set it to 'publish', not 'published' 

Теперь это немного не соответствует теме, но вы можете опустить следующие (созданные по wp_insert_post() ):

 $postarr["post_date_gmt"] = date('Ymd H:i:s', time()); $postarr["post_date"] = date('Ymd H:i:s', time()); $postarr["post_modified"] = date('Ymd H:i:s', time()); $postarr["post_modified_gmt"] = date('Ymd H:i:s', time());