Я разрабатываю плагин для пользовательской формы регистрации. У меня есть файл с файлом customapplicationform.php, другие файлы в боковой регистрации и папке коротких кодов. Итак, моя структура Plugin Справочник как это:Звонок на неопределенную функцию add_action()
--->customapplicationform
|--js
|--ajax-registration.js
|--registration
|--registration.php
|--regsubmit.php
|--scripts.php
|--shortcode
|--display.php
|--shortcodes.php
--customapplicatioform.php
Это даст ошибку:
Пожалуйста, скажите мне, что проблема с этим? и если есть лучший способ, чем предложить мне. Заранее спасибо.
1) Это мой файл customapplicationform.php
.
require_once(ABSPATH.'wp-admin/includes/plugin.php');
ob_start();
global $app_db_version;
$app_db_version = '1.0';
function app_install() {
global $wpdb;
global $app_db_version;
$table_name = $wpdb->prefix .'registeration';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
regid mediumint(9) NOT NULL AUTO_INCREMENT,
time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
fname varchar(50) NOT NULL,
lname varchar(50) NOT NULL,
email varchar(50) NOT NULL,
phno int(12) NOT NULL,
PRIMARY KEY(regid)
) ";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
add_option('app_db_version', $app_db_version);
}
register_activation_hook(__FILE__, 'app_install');
include_once('/shortcode/shortcodes.php');
2) Это мой shortcodes.php
файл.
function shortcode_function($atts) {
$plugin_dir_path = dirname(__FILE__);
include_once('display.php');
$data = ob_get_clean();
return $data;
}
add_shortcode('custom-application', 'shortcode_function');
3) Это мой файл display.php
.
include_once(''.dirname(dirname(__FILE__)).'/registration/registration.php');
4) Это мой registration.php
файл.
<form action="<?php echo plugins_url();>/customapplicationform/registration/regsubmit.php" method="Post">
<label>First Name:</label>
<input type="text" name="appfname" id="appfname" />
<label>Last Name :</label>
<input type="text" name="applname" id="applname" />
<label>Email :</label>
<input type="email" name="appemail" id="appemail" />
<label>Phone :</label>
<input type="tel" name="appphone" id="appphone" />
<?php// wp_nonce_field('app_new_user','app_new_user_nonce', true, true); ?>
<input type="Submit" value="Submit" id="btn-new-user">
</form>
5) Это мой regsubmit.php
файл.
require_once('scripts.php');
// Verify nonce
if(! wp_verify_nonce($_POST['app_new_user_nonce'], 'app_new_user'))
{
die('Ooops, something went wrong, please try again later.');
}
else {
if(isset($_POST['appemail'])) {
// Post values
echo $fname = $_POST['appfname'];
echo $lname = $_POST['applname'];
echo $email = $_POST['appemail'];
echo $phone = $_POST['appphone'];
$userdata = array(
'fname' => $fname,
'lname' => $lname,
'email' => $email,
'phno' => $phone,
);
$user_id = wp_insert_user($userdata) ;
// Return
if(!is_wp_error($user_id)) {
echo '1';
} else {
echo $user_id->get_error_message();
}
}
}
6) Это мой файл scripts.php
.
function app_register_user_scripts() {
// Enqueue script
wp_register_script('app_reg_script', dirname(__FILE__). '/js/ajax- registration.js', array('jquery'), null, false);
wp_enqueue_script('app_reg_script');
wp_localize_script('app_reg_script', 'app_reg_vars', array('app_ajax_url' => admin_url('admin-ajax.php')));
}
add_action('wp_enqueue_scripts', 'app_register_user_scripts');
Где находится 'add_action'? –
@ScottHunter, это основная функция WordPress – rnevius
@ScottHunter Я использовал функцию add_action для установки скриптов в файле scripts.php. И как сказал mevius, это основная функция WordPress. –