さて、私はjavascriptでこの関数を呼び出したい:
http://codex.wordpress.org/Function_Reference/is_user_logged_in
ただし、例はphpのみです。そのJavaScript関数が呼び出されたときに、ユーザーがログに記録されているかどうかを確認し、そうでない場合はメッセージ/リダイレクトを送信します。
さて、私はjavascriptでこの関数を呼び出したい:
http://codex.wordpress.org/Function_Reference/is_user_logged_in
ただし、例はphpのみです。そのJavaScript関数が呼び出されたときに、ユーザーがログに記録されているかどうかを確認し、そうでない場合はメッセージ/リダイレクトを送信します。
これを functions.php に追加します
function check_login() {
$return['loggedin'] = false;
if ( is_user_logged_in() ) {
$return['loggedin'] = true;
}
echo json_encode($return);
die();
}
add_action('wp_ajax_check_login', 'check_login');
add_action('wp_ajax_nopriv_check_login', 'check_login');
これをカスタム JS コードに追加します。
$.ajax({
url : YOUR_AJAX_URL, // "/wp-admin/admin-ajax.php"
type : "GET",
dataType : "json",
cache : false,
data : {
action : 'check_login'
},
success : function (json) {
if (json.loggedin) {
alert("Loggedin");
}
}
});
以下のように、php コードの間に JavaScript コードをラップできます。
<script>
$('#checkLogin').click(function() {
<?php if (!is_user_logged_in()): ?>
alert('Please login to access this page');
location = 'http://www.example.com';
<?php else: ?>
alert('You are logged in');
<?php endif; ?>
});
</script>