php 如何在wordpress中使用session变量?

fnatzsnv  于 2023-05-21  发布在  PHP
关注(0)|答案(4)|浏览(156)

我有以下插件:http://wordpress.org/support/plugin/wp-session-manager
我不知道如何在WordPress中使用会话变量。根据我的阅读理解,这就是它应该如何使用:
我在第一页(第1页)上有以下内容:

global $wp_session;
$wp_session['loggedIn'] = 15;

echo $wp_session['loggedIn'];

在第一个页面上,会话变量工作,但在第二个页面上,会话变量不工作。有谁能告诉我我错在哪里?
谢谢

fivyi3re

fivyi3re1#

替换:

global $wp_session;

有:

$wp_session = WP_Session::get_instance();

确保在尝试回显第2页上的变量之前添加$wp_session = WP_Session::get_instance();

lsmepo6l

lsmepo6l2#

1.在function.php文件中添加以下代码

function register_my_session(){
    if( ! session_id() ) {
        session_start();
    }
}

add_action('init', 'register_my_session');

1.之后,您可以将值存储在会话变量中,如

$_SESSION['something'] = $xyz
rkue9o1l

rkue9o1l3#

WP_Session简介:

示例:

global $wp_session;

$wp_session['user_name'] = 'User Name'; // A string

$wp_session['user_contact'] = array( 'email' => 'user@name.com' );// An array

$wp_session['user_obj'] = new WP_User( 1 ); // An object

WordPress会话功能:

  1. wp_session_cache_expire()-获取会话过期时间
  2. wp_session_commit()-将会话数据写入 transient
  3. wp_session_decode()-将数据从序列化字符串加载到会话中
  4. wp_session_encode()-将会话数据写入序列化字符串
  5. wp_session_regenerate_id()-将当前会话的ID更改为一个新的随机ID
  6. wp_session_start()-启动会话并根据用户的cookie加载数据
  7. wp_session_status()-检查当前会话的状态
  8. wp_session_unset()-清除当前会话中的所有变量
  9. wp_session_write_close()-写入会话数据并结束会话。
2jcobegt

2jcobegt4#

使用transients代替。

set_transient( $transient, $value, $expiration );
get_transient( $transient );
delete_transient( $transient );

相关问题