运行下面的代码时不会生成任何错误或警告。
当尝试在短代码事件中创建cookie时,我刚刚在wordpress上遇到了问题。
在下面的代码中,test1 cookie 创建得很好,但是没有创建 test2 cookie。
但是,确实显示了措辞"Code Ran"。
if ( ! function_exists('cookieset')) :
function cookieset( $atts, $content = null ) {
extract( shortcode_atts( array(
'name' => 'cookieloc',
'redirect' => '/',
'expires' => '365',
), $atts ) );
setcookie("test2", 1, time()+3600, "/", ".domainname.com", false, true);
return "Code Ran";
}
endif;
if ( ! function_exists('cookieloc_action') ) :
function cookieloc_action() {
echo add_shortcode('cookieloc', 'cookieset');
setcookie("test1", 1, time()+3600, "/", ".domainname.com", false, true);
}
endif;
Word Press 似乎不会缓冲整个页面内容,而是逐步发送内容,因此我无法在 add_shortcode(...) 函数中发送标题
可悲的是,wordpress的API部分中没有提供执行顺序...http://codex.wordpress.org/Shortcode_API