説明
このプラグインはユーザーがログインしたときに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
SCRIPT_DEBUGが true のときのみconsole.logを表示する。
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
- 最初のリリース。
