Locked/Unlocked in title

时间:2015-11-15 作者:Eddie

这应该很容易,但我遗漏了一些东西。如果他们已经在受密码保护的帖子/页面中输入了密码,那么该代码应该可以正常工作。这样做是为了提醒他们它是受保护的。

然而我根本无法让它工作。if语句从不返回true。出于某种原因,我认为函数没有得到$post。

function unlocked() {
  if(!empty($post->post_password) && !post_password_required()) {
    echo \'unlocked icon reminding them this was protected and they put in their password already\';
  }
}

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

您的函数永远不会“获取”$post 因为这不是函数的工作方式。函数本身无法将任何东西拉入自身。如果您打开了调试,您将得到一个明确的bug通知$post 在未定义中。。。。。

您需要调用$post 在您的职能范围内,任何依赖于$post 全局,因此以下方法可行

function unlocked() {
  global $post;

  if(!empty($post->post_password) && !post_password_required()) {
    echo \'unlocked icon reminding them this was protected and they put in their password already\';
  }
}

相关推荐

get_posts custom field

这是一个愚蠢的问题,但我找不到合适的方式问谷歌。所以,如果这是一个重复的问题,很抱歉。我提供了一个带有复选框的自定义字段,用户可以检查是否希望此特定帖子进入主页。因此,在我的主页上,我呼吁所有已激活选中的帖子。我正在为自定义帖子类型CV创建自定义字段:function add_custom_post_meta_box() { add_meta_box( \'custom_post_meta_box\', // $id \'Campos Per