我正在使用WooCommerce。 我在页面上设置了自己的会话.php,并尝试将该会话传递给迷你购物车.php,但迷你购物车没有收到该会话。
页面.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";
我正在尝试在迷你购物车上打印该会话.php如下所示
if (!isset($_SESSION['menu_lang'])) {
echo "no session";
} else {
echo $_SESSION['menu_lang'];
}
如何将我的会话传递到迷你购物车?
您可以使用以下代码。
在主题的函数中添加以下代码.php文件
function register_session_new(){
if( ! session_id() ) {
session_start();
}
}
add_action('init', 'register_session_new');
$_SESSION['menu_lang'] = "english";
在您的迷你购物车.php文件或任何您想使用的地方使用此行。
echo $_SESSION['menu_lang'] ;
使用瞬态而不是会话。 在wordpress中,强烈推荐。
set_transient( $transient, $value, $expiration );
get_transient( $transient );
delete_transient( $transient );