説明
このプラグインはユーザーがログインしたときにCOOKIEを設定します。
COOKIEをデータストアに利用することができます。
つまり、UIリソースとして使うことができるのです。
表示
このプラグインはhtml
要素にクラスを追加します。
ct-logged-in
現在のユーザーはログイン済みです。ct-not-logged-in
現在のユーザーはログインしていません。
CSSで表示のコントロールができます。
.some-element{ display: none; } .ct-logged-in .some-element{ display: block; }
JavaScriptでの利用
グローバルオブジェクトCookieTasting
が便利です。
CookieTasting.userName()
ユーザー名を返します。ログインしていない場合は「ゲスト」を返します。CookieTasting.lastUpdated()
最後にログイン状態をチェックしたときのタイムスタンプを返します。0の場合、ユーザーがログインしていないことを意味します。
さらに、このプラグインはログイン状態を定期的にチェックします。
jQueryから操作することできます。
jQuery( document ).on( 'cookie.tasting', function( event, response ) { if ( response.login ) { // User is logged in. // If you use React... setAttributes({ name: CookieTasting.userName() }) } else { // User is not logged in. } } );
Reactのようなツールを使っている場合は、setState()
でステータスを更新してください。
アクションの前にチェックする
キャッシュされたWordPressを管理し、それを独自テーマでカスタマイズしている場合、動的なUIコンポーネントをJavaScriptで実装するのはよいアイデアです。
重要なアクションの直前にユーザーの認証情報を確認することができます。
// Click action for button. $('.read-more').click( function( e ) { e.preventDefault(); // Check cookie before do something. CookieTasting.testBefore().then( function( response ) { // Now user has fresh information. // Load premium contents. loadPremiumContents(); }).catch( function( response ) { // This user is not logged in. // Redirect them to login page. window.locaion.href = '/wp-login.php'; } ); } );
あなたのスクリプトにcookie-tasting-heartbeat
への依存関係を追加しておくのを忘れないようにしてください。
UUIDを利用する
このプラグインはデフォルトでそれぞれのユーザーにUUIDを設定します。これは……
- ログインしたそれぞれのユーザーにユニークなもので、user_metaに保存されます。
- ログインしていないユーザーにも保持されます。
これでGoogle Analyticの User ID ビューに使うことをができます。
const uuid = CookieTasting.get( 'uuid' ); // For Google Analytics. ga( 'set', "userId", uid );
インストール
- Zipファイルをダウンロードし、解凍してください。
wp-content/plugins
ディレクトリにアップロードしてください。- WorPressの管理画面へ移動し、プラグインを有効化してください。
おすすめ: WordPressの管理画面で検索してインストールしてください。
FAQ
-
貢献方法
-
このプラグインはGithubにホストされています。
イシューの登録やプルリクエストをお待ちしています。
貢献者と開発者
変更履歴
1.0.11
- Display
console.log
only ifSCRIPT_DEBUG
is true.
1.0.10
- バグ修正: IE11以下のために
Object.assign
のポリフィルを追加 (サポート @Kamata Ryo)。
1.0.9
- キャッシュされたページの nonce 更新バグ修正。
1.0.8
- Cookie チェックの API にフィルターを追加。エラーメッセージを変更できるようになりました。
1.0.7
- UUIDのロジックを修正。
- リライトルールの自動更新機能を追加。
1.0.6
- SSLの時のバグを修正。
1.0.5
- 致命的なエラーを修正。
vendor
が消えていた。
1.0.4
- @wordpress/wp-api-featch と wp-apiの
wpApiSettings
のためにnonceを更新するようにしました。 - REST APIはCOOKIEが適切に設定されている必要があったので、エンドポイントを変更。エンドポイント
wp-json/cookie/v1/nonce
は仮想的なもので、実際にはREST APIではありません。このため、適切にnonceを更新することができます。通常、この更新は自動的に行われますが、 “rest_cookie_invalid_nonce”レスポンスが表示された場合は、”設定 > パーマリンク” から更新してみてください。”更新”をクリックするだけです。 - UUIDが現在のユーザーに設定されます。トラッキングに役立ちます。
1.0.3
- COOKIE確認APIにフィルターを追加。
1.0.2
- バグ修正: home_urlがSSLでない場合、COOKIEの
$secure
フラグが false になるようになりました。ただし、サイトはSSLで保護することを心よりお勧めします。
1.0.0
- 最初のリリース。