0

以下のコードを実行しても、エラーや警告は生成されません。

ショートコード イベント内で 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;
4

1 に答える 1

1

ワード プレスはページ コンテンツ全体をバッファリングしないようですが、徐々にコンテンツを送信するため、add_shortcode(...) 関数でヘッダーを送信できません。

残念ながら、ワードプレスの API セクションでは実行順序が提供されていません... http://codex.wordpress.org/Shortcode_API

于 2011-05-16T23:17:32.093 に答える