WP nonce字段验证以及if语句使用情况

时间:2015-12-15 14:38:25

标签: php wordpress wordpress-plugin

我的项目中有一个奇怪的问题,如果你能解释我出了什么问题。

所以...与食典enter link description here

有关
<?php

if ( 
    ! isset( $_POST['name_of_nonce_field'] ) 
    || ! wp_verify_nonce( $_POST['name_of_nonce_field'], 'name_of_my_action' ) 
) {

   print 'Sorry, your nonce did not verify.';
   exit;

} else {

   // process form data
}

我使用了这段代码并且工作正常。但现在我想修改这个项目,并尝试使用此代码来查找我的错误。

public function user_can_save($post_id){

    if (isset( $_POST['tutsplus-post-notice-nonce'] ) && wp_verify_nonce( $_POST['tutsplus-post-notice-nonce'], 'tutsplus-post-notice-save' ) )
    {
        $is_autosave = wp_is_post_autosave($post_id);
        $is_revision = wp_is_post_revision($post_id);

        return ! ($is_autosave||$is_revision);

    } else exit;
}

它不起作用。 在编码的最后,我想修复这段代码:

    public function user_can_save($post_id){

        $is_valid_nonce =
            ( isset( $_POST['tutsplus-post-notice-nonce'] ) ) &&
            wp_verify_nonce(
                $_POST[ 'tutsplus-post-notice-nonce' ],
                'tutsplus-post-notice-save'
            );

        $is_autosave = wp_is_post_autosave($post_id);
        $is_revision = wp_is_post_revision($post_id);

        return ! ($is_autosave||$is_revision) && $is_valid_nonce;

    }
}

我的错误是什么?

0 个答案:

没有答案