WordPress - 会话值从页面到页面的变化
Posted
技术标签:
【中文标题】WordPress - 会话值从页面到页面的变化【英文标题】:WordPress - Session values changes from page to page 【发布时间】:2021-05-14 06:57:40 【问题描述】:functions.php
<?php
if ( !defined('ABSPATH') ) die();
ob_start();
if (!session_id())
session_start();
plugins/bestellung/bestellung.php
<?php
add_shortcode('disp_bestellung_sidebar', 'display_side');
function display_side()
if($_SESSION["ptitle"] != "")
echo '<h3 class="bestellung_sidebar_title">Product</h3>';
return ob_get_clean();
plugins/bestellung/bridge.php
if (isset($_POST['prtitle']))
$_SESSION["ptitle"] = $_POST['prtitle'];
header( 'Location: /bestellung/' );
在bridge.php
中,我可以获得 $_SESSION["ptitle"] 及其值。
但是在它重定向到另一个页面之后,即“/bestellung/”,在此之前已经设置了其他键/值。
为什么会话中的值变成了别的东西?
【问题讨论】:
【参考方案1】:您应该首先检查每个页面以查看会话是否已开始:
if( ! session_id() )
session_start();
if ( isset( $_POST['prtitle'] ) )
$_SESSION["ptitle"] = $_POST['prtitle'];
wp_safe_redirect( home_url() . '/bestellung/' );
exit;
......
add_shortcode( 'disp_bestellung_sidebar', 'display_side' );
function display_side()
if( ! session_id() )
session_start();
if( isset( $_SESSION["ptitle"] ) && $_SESSION["ptitle"] != "" )
echo '<h3 class="bestellung_sidebar_title">Product</h3>';
return ob_get_clean();
【讨论】:
我已经设置了,但是没有用。我已将其设置在wp-config
、functions
和每个单独的文件中。没有运气。
可能是重定向问题。为什么不使用 WordPress 重定向功能?请查看wp_safe_redirect以上是关于WordPress - 会话值从页面到页面的变化的主要内容,如果未能解决你的问题,请参考以下文章
WordPress将会话数据从产品页面带到自定义插件中的购物车页面?
首次访问的 wordpress 介绍页面,带有 htaccess