我正在尝试更改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的当前版本兼容的解决方案。我怀疑正确的答案很简单,但到目前为止我还没有找到。(注意:我不是一名高级开发人员,因此我希望您的回复易于理解:)
谢谢
最合适的回答,由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
}