我的主题有一个发布表格。我在那里使用了 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_struct/id。所以如果我的 permalinks_struct 就像 /category/id ,它就变成了http://www.example.com/uncategorized/1 http://www.example.com/uncategorized/1。所以问题是,如果我通过 WordPress 管理面板发布,帖子的 GUID 是http://www.example.com?p=1 http://www.example.com?p=1。所以我的帖子数据库 GUID 变得混乱,因为如果我想更改 permalinks_struct ,从外部表单变成的帖子将遵循该结构。
我想要做的是,我想要获得像我通过管理面板发布的 GUID,即http://www.example.com?p=1 http://www.example.com?p=1
我该怎么做 ?请指出我。谢谢。
我认为简短的答案是不用担心 WordPress 中帖子的 GUID。以下是讨论帖子 GUID 有效性的主题:http://www.mail-archive.com/[电子邮件受保护]/msg12434.html http://www.mail-archive.com/wp-testers@lists.automattic.com/msg12434.html
If you ever需要帖子的 URL,您应该使用 get_permalink() 函数。这将始终尊重您当前的永久链接结构,并且是获取帖子 URL 的最安全方法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)