我不能在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>';
}
}
}
答案 0 :(得分:1)
wp_verify_nonce()
是一个Wordpress核心功能。许多WP功能随时都无法访问。
看看Wordpress如何工作,我的猜测是你可能必须将你的功能挂钩到Wordpress序列。尝试将插件功能挂钩到admin_init
。
add_action ( 'hook_name', 'your_function_name', [priority], [accepted_args] );
一些好的必要阅读:Wordpress - Plugin API