设置和检索会话值wordpress

时间:2018-06-14 00:38:18

标签: php wordpress woocommerce session-variables

我正在使用WooCommerce。 我在page.php上设置了我自己的会话,并尝试将该会话传递给mini-cart.php,但是迷你购物车并没有接收到该会话。

page.php就像这样

get_header("english"); ?>

<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
    <?php
    // Start the loop.
    // session_start();
    while ( have_posts() ) : the_post();

        // Include the page content template.
        get_template_part( 'template-parts/content', 'page' );

        // If comments are open or we have at least one comment, load up the comment template.
        if ( comments_open() || get_comments_number() ) {
            comments_template();
        }

        // End of the loop.
    endwhile;
    ?>

</main><!-- .site-main -->
<?php get_sidebar( 'content-bottom' ); ?>
</div><!-- .content-area -->
<?php get_sidebar(); ?>
<?php get_footer();
// Adding my own session below
$_SESSION['menu_lang'] = "english";

我试图像mini-cart.php那样打印那个会话

if (!isset($_SESSION['menu_lang'])) {
 echo "no session";
} else {
 echo $_SESSION['menu_lang'];
}

如何将会话传递给迷你购物车?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码。

在主题的functions.php文件中添加以下代码

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

add_action('init', 'register_session_new');
$_SESSION['menu_lang'] = "english";

在mini-cart.php文件中或您想要使用的任何地方使用此行。

echo $_SESSION['menu_lang'] ;