更改受密码保护的页面Cookie的默认10天过期时间

时间:2018-02-25 作者:Zocios

我正在尝试更改cookie的默认10天到期时间,允许用户在受密码保护的WP页面上重复查看内容,而无需在默认的10天期限内重新输入页面密码。我希望将过期时间重新设置为30秒,而不是10天。

WP代码参考为here:

apply_filters( \'post_password_expires\', int $expires )
这就是我尝试过的,但没有成功:

function custom_post_password_expires() {
    return time() + 30; // Expire in 30 seconds
}
apply_filters(\'post_password_expires\', \'custom_post_password_expires\');
我已经阅读了之前类似问题的答案,似乎没有一个适用于WP的当前版本,也没有一个提供与WP的当前版本兼容的解决方案。我怀疑正确的答案很简单,但到目前为止我还没有找到。(注意:我不是一名高级开发人员,因此我希望您的回复易于理解:)

谢谢

2 个回复
最合适的回答,由SO网友:Dave Romsey 整理而成

您应该使用add_filter( ... ), 不apply_filters( ... ):

/**
 * Filters the life span of the post password cookie.
 *
 * By default, the cookie expires 10 days from creation. To turn this
 * into a session cookie, return 0.
 *
 * @since 3.7.0
 *
 * @param int $expires The expiry time, as passed to setcookie().
 */
add_filter( \'post_password_expires\', \'wpse_custom_post_password_expires\' );
function wpse_custom_post_password_expires( $expires ) {
    return time() + 30; // Expire in 30 seconds
}

SO网友:J J Strik

我现在正在运行Wordpress 5.7,事实上,我们生活在2021。

I\'v和Zocios有同样的问题。

页面由密码保护,您需要输入密码才能查看页面。

当您离开该页面并再次返回该页面时,您可以进入该页面而无需输入PW。

我在函数中添加了编码。php页面(我希望您可以在下面的图片中看到)

也许你可以向我解释一下(我懂一点编码)如何保护页面,当我返回到安全页面时,每次进入该页面时,我都需要输入PW?

谢谢你的帮助。

enter image description here

结束

相关推荐

apply_filters to $GLOBALS

我正在使用Pootle页面构建插件构建一个单页网站。使用get\\u page,我在1页上显示每个单独的页面。为了针对Pootle页面生成器内容,我使用以下代码:$content = $GLOBALS[\'Pootle_Page_Builder_Render_Layout\']->panels_render( $page_data->ID ); 当我尝试实现一个像旋转木马这样的插件时,我需要使用一个短代码,但短代码不起作用。为了使短代码有效,我需要使用apply_filters(\'