首页 > 解决方案 > 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() 阶段失败了......

标签: phpwordpress

解决方案


the_content()将通过 echo 显示内容。所以如果你想让变量返回,你应该使用get_the_content()

更新您的代码以返回它:

return get_the_content();

在这里你可以找到更多:

https://developer.wordpress.org/reference/functions/get_the_content/


推荐阅读