デフォルトの10日間にパスワードを再入力することなく、パスワードで保護されたWPページのコンテンツを繰り返し表示できるようにするため、Cookieのデフォルトの10日有効期限を変更しようとしています日の期間。 10日ではなく、有効期限を30秒に再設定したいです。
WPコードリファレンスは ここ です。
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で動作するような解決策を適用したり提供したりするものはありません。正解は非常に単純だと思いますが、これまでのところ私はそれを見つけていません。 (注:私は高度な開発者ではないので、理解しやすい返信をいただければ幸いです。:)
ありがとう。
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
}