【问题标题】:Get the password of a Protected Post in functions.php在functions.php中获取受保护帖子的密码
【发布时间】:2013-09-24 12:20:47
【问题描述】:

我正在开发 WordPress 主题,我希望作者在发布受保护的自定义帖子时向某人发送电子邮件。

如何在functions.php中获取受保护帖子的密码?

我已经创建了一个元框字段(用于电子邮件),并且在我的 functions.php 文件中使用了PHPMailer()。该函数用于获取帖子的名称和 URL,但我现在需要通过电子邮件发送密码...

【问题讨论】:

    标签: php wordpress wordpress-theming phpmailer


    【解决方案1】:

    密码未加密地存储在wp_posts 表的post_password 列中。

    这只是一个问题:

    $the_post = get_post( PUT_YOUR_POST_ID_NUMBER );
    echo $the_post->post_password;
    

    【讨论】:

    • 这显然是我需要的,谢谢!我没想到它是未加密的,这也很高兴知道。如果它可以帮助其他搜索相同内容的人,则 get_post() 返回的所有字段都可以找到in the Codex
    • 使用var_dump( $post ); 来检查它。有时,在测试时,在转储后添加die(); 也很有帮助。
    • 如何正确检查是否与受密码保护的 cookie 页面匹配?
    【解决方案2】:

    如果您为要发送的值设置了自定义元字段,则可以使用 get_post_custom() 获取它:

    $custom = get_post_custom( get_the_ID() );
    

    然后您可以通过 $custom 中的键访问元值,如下所示:

    $custom['keyofmetafield']
    

    编辑:此外,如果您尝试获取用于保护页面的密码,我相信还有一个核心功能 the_post_password() - 但您提到在元字段中保存一些内容,所以我不确定。

    https://developer.wordpress.org/reference/functions/the_post_password/#source

    【讨论】:

    • 感谢您的快速回答,我不是在寻找自定义元值,而是寻找使用密码保护帖子的默认方式的值(您知道,当可见性为“密码保护")。
    • 编辑:是的,就是这样。您的消息来源对我很有帮助,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 2012-08-26
    • 2020-06-12
    • 2022-07-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多