WP_Insert_Post и GUID Проблема [Wordpress] - PullRequest
3 голосов
/ 28 апреля 2010

У меня есть форма публикации в моей теме. Я использовал wp_insert_post там. Мой код выглядит так

$post = array(
      'ID' => '',
      'post_author' => $post_author,
      'post_category' => $post_category,
      'post_content' => $post_content,
      'post_title' => $post_title,
      'post_status' => 'publish',
    );  

    $post_id = wp_insert_post($post);
    $fullpost = get_post($post_id);

    wp_redirect($fullpost->guid);

Все отлично работает. Но когда он вставляется в базу данных, в поле GUID формат записи выглядит как этот permalinks_structure / id. Поэтому, если моя структура permalinks_structure похожа на / category / id, она становится похожей на http://www.example.com/uncategorized/1. Так что проблема в том, что если я пишу через админ панель WordPress, GUID поста будет http://www.example.com? P = 1 Так что мой GUID почтовой базы данных стал беспорядком, потому что если я захочу изменить permalinks_structure, пост, который становится извне, будет следовать структуре.

То, что я хочу сделать, это то, что я хочу получить GUID, подобный тому, который я выложил через админ-панель: http://www.example.com? P = 1

Как я могу это сделать? Пожалуйста, укажите мне. Спасибо.

Ответы [ 2 ]

1 голос
/ 26 июля 2010

Я думаю, что короткий ответ - не беспокоиться о GUID сообщения в WordPress. Вот тема, в которой обсуждается (не) действительность GUID сообщения:

Если вам когда-либо нужен URL-адрес сообщения, вы должны использовать функцию get_permalink (). Это всегда будет учитывать вашу текущую структуру постоянных ссылок и является самым безопасным способом получения URL-адреса сообщения

0 голосов
/ 08 июля 2016

Возврат #

(int | WP_Error) Идентификатор записи при успехе. Значение 0 или WP_Error при ошибке.

Итак ... проверьте целое число и сделайте это, чтобы получить URL $ url = get_permalink ($ post_id);

Это обходит прямой вызов гиду

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...