IS_PREVIEW()始终返回FALSE

时间:2016-02-26 作者:JimboSlice

我刚刚开始一个新的Wordpress项目,由于某种原因,我无法让预览正常工作。我已经禁用了我所有的插件,但在使用is_preview().

目前,我正在创建一个通过页面呈现的页面。php,我只调用var_dump(is_preview()) 它总是显示错误。如果我把它放在循环中也没关系,还是假的。我错过了什么?

不应该is_preview() 单击“预览更改”时返回true?

编辑:我当然在打电话var_dump(is_preview()) 而不是我最初写的“the\\u preview”。然后打印出来bool(false) 每一次。

解决:这实际上是运行该站点的nginx服务器的一些配置错误。我不确定到底是什么,可以说这不是我的专业领域。但问题已经解决了。

2 个回复
SO网友:Jorin van Vilsteren

is\\u preview()如果是预览,则应返回true。您是否在页面上尝试了以下内容。php?

if(is_preview()){ echo "preview" }else{ echo "no preview" }
检查is\\u preview()函数是否正常工作?

EDIT2:你可以按照自己的方式解决它,并检查:

if($_GET[\'preview\'] == true){}

SO网友:Gustavo Martínez

“is\\U预览”不起作用,因为可能只激活了状态为“发布”的帖子。

在我的情况下,这是为这一行。仅允许发布已发布的出版物。

$query -> set( \'post_status\', \'publish\' );
您可以执行以下操作:

function is_draft() {
    return is_user_logged_in() && isset( $_GET[ \'p\' ] ) && ! empty( $_GET[ \'p\' ] );
}   // end function


$query -> set( \'post_status\', is_draft() ? \'draft\' : \'publish\' );
有很多解决方案,但要激活“is\\U预览”,您必须激活状态为“草稿”的帖子

顺致敬意,

古斯塔沃·马丁内斯