2017-07-04 17 views
-1

wordpressプラグインでwp_verify_nonceメソッドを使用することはできません。Wordpress:カスタムプラグインで未定義関数wp_verify_nonce()を呼び出す

致命的なエラー:Call to undefined function wp_verify_nonce()が表示されます。

私は成功

<?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

チェック[この回答](https://wordpress.stackexchange.com/questions/21014/cant-access-some-worpress-function-from-my-プラグイン) – Picard

答えて

1

wp_verify_nonce()なしパブリックメソッドprivate function submit_form()をレンダリングしようとしなかったWordpressのコア機能です。多くのWP機能はいつでもアクセスできません。

Wordpressの仕組みを少し見れば私の推測では、あなたの機能をWordpressシーケンスに組み込む必要があるかもしれません。プラグイン機能をadmin_initに接続してみてください。

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

いくつかの良いnecesary読書:Wordpress - Plugin API

関連する問題