php - Wordpress setup_postdata 不返回任何内容
问题描述
我使用 Wordpress 作为无头 CMS。
我使用以下函数根据页面标题返回页面。
没有代码或 Wordpress 内容发生变化,突然停止工作......
在不同站点的同一台服务器上几乎相同的代码工作正常。
有人知道可能发生了什么吗?
// -- Get page based on page name -- //
function getWordpressPage($wordpressPageName){
$page = NULL;
$pageRequest = cleanUrlVar($wordpressPageName);
if($pageRequest){
$page = get_page_by_title( $pageRequest );
if($page != NULL){
setup_postdata($page);
return the_content();
}
}
if($page == ''){
header('Location: /');
exit();
}
}
仅供参考 - var_dump($page) 返回数据,所以 Wordpress 正在返回一些东西,看起来它在'return the_content() 阶段失败了......
解决方案
the_content()
将通过 echo 显示内容。所以如果你想让变量返回,你应该使用get_the_content()
更新您的代码以返回它:
return get_the_content();
在这里你可以找到更多:
https://developer.wordpress.org/reference/functions/get_the_content/
推荐阅读
- linux - Linux 4.14 中的 NETLINK_NFLOG 支持
- python - Python/OpenCV 相机捕获导致空白/黑色图像
- bash - 如何遍历包含文件和隐藏文件的目录
- python - AttributeError:“PigMan”对象在多线程中没有属性“iAmFool”
- node.js - 如何配置 Firebase 托管以使用 pug 而不是 html 文件?
- ajax - 有没有办法在浏览器的 Http Get Method 中发送正文?
- angular - “为什么 Angular 5 在(http://127.0.0.1:5500/src/index.html)上运行,而浏览器上没有显示任何内容”
- python - 如果它包含文件名/路径和包含已知重复项的外部文件,我需要删除整个 json blob/对象
- c++ - 从高度图计算球形地形法线
- angular - Angular应用程序的生产编译