试图在页面加载时设置cookie(Wordpress)

时间:2015-11-14 04:26:36

标签: php wordpress variables cookies widget

我正在尝试设置一个cookie,当页面加载一个从小部件后端的用户输入中获取的数字时,我似乎无法使其工作。

这是我的简化代码:

class my_class extends WP_Widget {

## get variable from the backend form settings of widget
  function form($instance) {
  global $instance;
  $title = ! empty( $instance['variableiwant'] ) ? $instance['title'] : __( 'variableiwant' );
    }

    ##update save of widget
    function update($new_instance, $old_instance) {
        $instance = $old_instance;
        $instance['variableiwant'] = strip_tags($new_instance[ 'variableiwant']);
        return $instance;   
    }

    function widget($args, $instance) {
    }

##here I try and set the cookie from the backend variable before headers are sent.

function set_newuser_cookie() {
global $instance;
global $variableiwant;

if (isset($_COOKIE["variablesave"]))
          ;
      else
      {
        setcookie("variablesave", $variableiwant, time()+3600);
    }
}

add_action( 'send_headers', 'set_newuser_cookie');

现在我遇到的问题是只能在发送标题之前设置cookie,我在" send_headers"之前尝试了其他挂钩。但没有任何作用。显然,如果你在标题之后添加了钩子,它会抛出一个错误,说“"警告标题已经发送了”#34;有没有办法从后端输入中获取该变量并在发送标题之前将其设置为cookie?我已经尝试了一切,似乎没有任何工作,只需将cookie设置为NULL。

0 个答案:

没有答案