我目前正在使用Vercel's示例构建一个无头Next.js WordPress应用程序。
目前在本地环境中测试http://localhost:3000
的Next.js和http://wordpress.test
的WordPress。到目前为止,它的工作相对较好。我更新了WordPress的预览链接(preview_post_link
),以匹配Next.js应用程序中的预览API端点,并更新了WordPress的site url
,以指向我的本地Next.js环境。
一旦site url
更新了,visit site
,view post/page
按钮现在就可以转到我的Next.js应用程序。
然而,我遇到的问题是,它似乎也更新了save draft
按钮。所以现在当我试图保存草稿时,它试图转到http://localhost:3000/wp-json/wp/v2/posts/38?_locale=user
,我的Next.js应用程序,而不是WordPress。显然,因为这个链接在Next.js中不做任何事情,所以它抛出错误。
这是WordPress的一个bug吗?还是我设置的无头URL不正确?
设置
- WordPress版本6.1.1
- 建立我自己的主题
functions.php
<?php
add_filter( 'preview_post_link', 'the_preview_fix' );
function the_preview_fix($post) {
$post = get_post();
return home_url() . "/api/preview?secret=secret&id={$post->ID}";
}
插件
- WPgraphQl版本1.14.0
- WPGraphQL JWT身份验证版本0.4.0
WordPress设置(其他设置未更改)
- WordPress地址(URL)-http://wordpress.test
- 站点地址(URL)-http://localhost:3000
1条答案
按热度按时间kknvjkwl1#
我想通了!经过一些挖掘,与一些指导从ChatGPT我发现这个post修复正是我所需要的.下面是代码的任何人的情况下断开的链接.
我不知道这将如何影响其他任何事情,因为WordPress开发人员选择REST API路由指向前端而不是后端系统一定有原因。然而,就我的目的而言,这适合我现在。