Wordpress:在自定义插件中调用未定义的函数wp_verify_nonce()

时间:2017-07-04 11:33:47

标签: wordpress

我不能在wordpress插件中使用wp_verify_nonce方法。

我收到致命错误:Call to undefined function wp_verify_nonce()

我确实试图公开方法private function submit_form()但没有成功

<?php

/*
 * Frontend class.
 * 
 * Method and property for frontend section.
 * 
 * @since 1.0
 * 
 */

namespace Simplestform;

class Frontend extends \Simplestform\Base {

    /**
     * Our constructor.
     * 
     * 
     */

    public function __construct( $base_dir = null ) {

        parent::__construct();

        if ( !is_null ( $base_dir ) ) {

            /*
             * Call Base function to set the base dir
             */

            $this->set_base_dir($base_dir);

        }

        /*
         * 
         * Register shortcode
         * 
         */ 
        $this->add_shortcode();
        $this->submit_form();

    }

    /**
     * Register the shortcode
     * 
     * @since 1.0 
     */

    private function add_shortcode() {

        add_shortcode( $this->get_shortcode_tag() , array ( $this , 'render_contact_form' ) );

    }

    public function render_contact_form() {

        include_once ( $this->get_base_dir().'/views/frontend/basic-form.php' );

    }

    private function submit_form() {

        if ( isset ( $_POST['_wpnonce'] ) ) {

            $nonce = $_POST['_wpnonce'];

            wp_verify_nonce ( $nonce , 'test_nonce_field' );

            echo '<pre>';
            var_dump ( $_POST );
            echo '</pre>';

        }


    }


}

1 个答案:

答案 0 :(得分:1)

wp_verify_nonce()是一个Wordpress核心功能。许多WP功能随时都无法访问。

看看Wordpress如何工作,我的猜测是你可能必须将你的功能挂钩到Wordpress序列。尝试将插件功能挂钩到admin_init

add_action ( 'hook_name', 'your_function_name', [priority], [accepted_args] );

一些好的必要阅读:Wordpress - Plugin API