本文整理汇总了PHP中wp_logout函数的典型用法代码示例。如果您正苦于以下问题:PHP wp_logout函数的具体用法?PHP wp_logout怎么用?PHP wp_logout使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wp_logout函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
/**
* Process the request
* @todo Setting for reassigning user's posts
*/
public function process()
{
// Verify the security nonce and die if it fails
if (!isset($_POST['wp_delete_user_accounts_nonce']) || !wp_verify_nonce($_POST['wp_delete_user_accounts_nonce'], 'wp_delete_user_accounts_nonce')) {
wp_send_json(array('status' => 'fail', 'title' => __('Error!', 'wp-delete-user-accounts'), 'message' => __('Request failed security check.', 'wp-delete-user-accounts')));
}
// Don't permit admins to delete their own accounts
if (current_user_can('manage_options')) {
wp_send_json(array('status' => 'fail', 'title' => __('Error!', 'wp-delete-user-accounts'), 'message' => __('Administrators cannot delete their own accounts.', 'wp-delete-user-accounts')));
}
// Get the current user
$user_id = get_current_user_id();
// Get user meta
$meta = get_user_meta($user_id);
// Delete user's meta
foreach ($meta as $key => $val) {
delete_user_meta($user_id, $key);
}
// Destroy user's session
wp_logout();
// Delete the user's account
$deleted = wp_delete_user($user_id);
if ($deleted) {
// Send success message
wp_send_json(array('status' => 'success', 'title' => __('Success!', 'wp-delete-user-accounts'), 'message' => __('Your account was successfully deleted. Fair well.', 'wp-delete-user-accounts')));
} else {
wp_send_json(array('status' => 'fail', 'title' => __('Error!', 'wp-delete-user-accounts'), 'message' => __('Request failed.', 'wp-delete-user-accounts')));
}
}
示例2: process_withdrawal
public static function process_withdrawal()
{
$action = wskl_POST('action');
if ($action != 'dabory_members_withdrawal') {
return;
}
self::evaluate_and_redirect_if_failed(is_user_logged_in(), __('먼저 로그인 하세요', 'wskl'));
self::evaluate_and_redirect_if_failed(wp_verify_nonce($_POST['dabory_members_withdrawal'], 'dabory_members_withdrawal'), __('Nonce 인증에 실패했습니다.', 'wskl'));
$user = wp_get_current_user();
$password = wskl_POST('password');
$reason = wskl_POST('reason', 'sanitize_text_field');
self::evaluate_and_redirect_if_failed(wp_check_password($password, $user->user_pass, $user->ID), __('비밀번호가 일치하지 않습니다.', 'wskl'));
if (wskl_is_option_enabled('members_delete_after_withdrawal')) {
if (!function_exists('wp_delete_user')) {
include_once ABSPATH . 'wp-admin/includes/user.php';
}
// 멤버 정말로 삭제
wp_logout();
wp_delete_user($user->ID);
} else {
// 역할을 바꿔 탈퇴 회원으로 간주
update_user_meta($user->ID, 'withdrawal_reason', $reason);
$user->set_role('wskl_withdrawn');
wp_logout();
}
// 탈퇴 완료 메시지
wp_redirect(add_query_arg(array('status' => 'complete'), $_SERVER['REQUEST_URI']));
exit;
}
开发者ID:EricKim65,项目名称:woosym-korean-localization,代码行数:29,代码来源:class-wskl-dabory-members-withdrawal.php
示例3: uf_perform_logout
/**
* Loads the current user out
*
* @wp-hook uf_logout
* @return void
*/
function uf_perform_logout()
{
wp_logout();
$url_after_logout = apply_filters('uf_perform_logout_url', '/user-login/?message=loggedout');
wp_safe_redirect(home_url($url_after_logout));
exit;
}
示例4: userLogout
function userLogout()
{
$this->verifyNonce('userLogout');
wp_logout();
echo "true";
wp_die();
}
示例5: um_submit_form_errors_hook_logincheck
function um_submit_form_errors_hook_logincheck($args)
{
global $ultimatemember;
// Logout if logged in
if (is_user_logged_in()) {
wp_logout();
}
$user_id = isset($ultimatemember->login->auth_id) ? $ultimatemember->login->auth_id : '';
um_fetch_user($user_id);
$status = um_user('account_status');
// account status
switch ($status) {
// If user can't login to site...
case 'inactive':
case 'awaiting_admin_review':
case 'awaiting_email_confirmation':
case 'rejected':
um_reset_user();
exit(wp_redirect(add_query_arg('err', esc_attr($status), $ultimatemember->permalinks->get_current_url())));
break;
}
if (isset($args['form_id']) && $args['form_id'] == $ultimatemember->shortcodes->core_login_form() && $ultimatemember->form->errors && !isset($_POST[$ultimatemember->honeypot])) {
exit(wp_redirect(um_get_core_page('login')));
}
}
示例6: site_router
function site_router()
{
// Premmière chose : Detection et gestion de l'URL
$root = str_replace('index.php', '', $_SERVER['SCRIPT_NAME']);
$url = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['REQUEST_URI']);
$url = explode('/', $url);
if (count($url) == 2 && $url[1] == 'login') {
require 'tpl-login.php';
die;
} else {
if (count($url) == 2 && $url[1] == 'profil') {
require 'tpl-profil.php';
die;
} else {
if (count($url) == 2 && $url[1] == 'logout') {
wp_logout();
header('location:' . $root);
die;
} else {
if (count($url) == 2 && $url[1] == 'register') {
require 'tpl-register.php';
die;
} else {
if (count($url) == 2 && preg_match("#confirmation#", $url[1])) {
require 'tpl-confirmation.php';
die;
}
}
}
}
}
}
示例7: control_login
function control_login($user_login, $user)
{
if (!in_array('administrator', (array) $user->roles)) {
//log them out
wp_logout();
}
}
示例8: logout
function logout()
{
wp_logout();
//TODO: reload actual page
wp_redirect(home_url());
exit;
}
示例9: wpu_integrate_login
/**
* The main login integration routine
*/
function wpu_integrate_login()
{
global $wpUnited, $phpbbForum, $wpuDebug;
// cache and prevent recursion
static $result = -1;
static $doingLogin = false;
if (!$doingLogin) {
// sometimes this gets called early, e.g. for admin ajax calls.
if (!$wpUnited->is_working()) {
return;
}
$wpuDebug->add('User integration active.');
$doingLogin = true;
// If this is a logout request, just do that!
if ($wpUnited->should_do_action('logout')) {
wp_logout();
wp_set_current_user(0);
$wpuDebug->add('Logged out of WordPress');
return;
}
if (!$phpbbForum->user_logged_in()) {
$result = wpu_int_phpbb_logged_out();
} else {
$result = wpu_int_phpbb_logged_in();
}
$doingLogin = false;
}
return $result;
}
示例10: check_exists_token
/**
* @return void
*/
public function check_exists_token()
{
$user = wp_get_current_user();
if (!$user->ID) {
wp_logout();
return false;
}
$token = '';
$pod = pods('jwt_user_token');
if ($pod) {
$record = $pod->find(null, 1, "author.ID = {$user->ID}");
$data = $record->fetch();
if ($data) {
$token = isset($data['token']) ? $data['token'] : '';
} else {
$data = self::get_jwt_token($user);
$token = isset($data['token']) ? $data['token'] : '';
}
}
$current_token = isset($_COOKIE['dln_token']) ? $_COOKIE['dln_token'] : '';
if (!$current_token || $current_token != $token) {
self::setToken($token);
}
return true;
}
示例11: ngpress_ajax_logout
function ngpress_ajax_logout()
{
check_ajax_referer('ngpress-ajax-logout-nonce', 'logout_security');
wp_logout();
echo json_encode(array('loggedout' => true, 'message' => __('User logged out')));
die;
}
示例12: maybe_log_out
/**
* Kicks the user out if their cookies aren't up to date
*/
public function maybe_log_out()
{
if (is_user_logged_in() && (!isset($_COOKIE[self::VERSION_COOKIE]) || self::COOKIE_VERSION != $_COOKIE[self::VERSION_COOKIE])) {
// The user needs different cookies set, but we need them to log back in to get the values
wp_logout();
}
}
示例13: do_logout
public function do_logout()
{
// If we are logged-in and we really are on this page, simply redirect
if (is_user_logged_in() && get_queried_object_id() == $this->get_page_id()) {
wp_logout();
$logout_url = apply_filters('cuar/routing/logout-url', null, 'customer-dashboard', null);
wp_redirect($logout_url);
}
}
示例14: demo
function demo()
{
if (isset($_GET['demo']) && $_GET['demo'] == 'true') {
if (userpro_is_logged_in()) {
wp_logout();
}
userpro_auto_login('test', true);
}
}
示例15: test_nopriv_no_postid
/**
* Test as a logged out user with no post id
* @return void
*/
public function test_nopriv_no_postid()
{
// Log out
wp_logout();
// Set up a request
$_POST = array('autosave' => 1);
// Make the request
$this->setExpectedException('WPAjaxDieStopException', '-1');
$this->_handleAjax('nopriv_autosave');
}