创建自定义函数页WordPress

时间:2020-06-16 作者:Louise Finch

我想创建一个自定义函数页,它是一个非WordPress PHP文件。我在我的主题中创建了一个带有表单的模板,我希望将表单发布到这个定制函数PHP文件中。功能是向WordPress数据库中添加新行。

我已经通过我的主题的主功能文件实现了这一点,但是我想创建自己的自定义文件来调用其中包含该功能的文件。请填写以下我使用主要功能文件的代码,当表单中选择提交按钮时,我使用isset跳转。。

function register_user() {

  $name = $_POST[\'name\'];
  $email = $_POST[\'email\'];
  $password = $_POST[\'password\'];  

  
  $options = [
    \'cost\' => 11,
  ];
  $passwordFromPost = $_POST[\'password\'];
  $hash = password_hash($passwordFromPost, PASSWORD_BCRYPT, $options);

  global $wpdb; 
  $table_name = $wpdb->prefix . "yuenergy_users"; 

  $wpdb->insert($table_name, array(
                            \'name\' => $name, 
                            \'email\' => $email,
                            \'password\' => $hash
                            ),array(
                            \'%s\',
                            \'%s\',
                            \'%s\') 
    );
  }


if( isset($_POST[\'registerSubmit\']) ) register_user();
我创建了一个registerProcess,而不是使用main functions文件将所有函数放入其中。php在我的主题中与函数位于同一目录中,并用于wp加载。php能够使用此文件,但没有出现错误,但表单未发布到数据库。

<?php
 require_once("../../..wp-load.php");

 function register_user() {

  $name = $_POST[\'name\'];
  $email = $_POST[\'email\'];
  $password = $_POST[\'password\'];  

  $options = [
    \'cost\' => 11,
  ];
  $passwordFromPost = $_POST[\'password\'];
  $hash = password_hash($passwordFromPost, PASSWORD_BCRYPT, $options);

  global $wpdb; 
  $table_name = $wpdb->prefix . "yuenergy_users"; 

  $wpdb->insert($table_name, array(
                            \'name\' => $name, 
                            \'email\' => $email,
                            \'password\' => $hash
                            ),array(
                            \'%s\',
                            \'%s\',
                            \'%s\') 
    );
  }


if( isset($_POST[\'registerSubmit\']) ) register_user();
我是wordpress的新手,我想更好地了解这一切是如何运作的。。请对我宽容点。

1 个回复
SO网友:mozboz

我认为Wordpress不知道如何从registerProcess加载或运行任何内容。php文件,所以我要做的是register_user() 函数,然后require_once 它来自函数。php并执行代码的活动部分-if。。在函数中注册\\u user()。php将在其中运行。(这可能是一种不好的方式,但如果它对你有用,那也没关系)

So功能。php应该如下所示:

require_once(\'registerProcess.php\');
if( isset($_POST[\'registerSubmit\']) ) register_user();
和registerProcess。php应该看起来一样,只需从最后一行中删除if

相关推荐

Div-Wrap with Functions.php in ChildTheme Using Shorcode!

我只想为一个简单样式的DIV包装器创建一个短代码。在WordPress的网站上,我想添加如下内容:[quotehead]Headline text[/quotehead] ...a normal blockquote from wordpress... 输出应为:<div class=\"block_header\">Headline text</div> 我的内部功能functions.php (在childtheme中)包含以下内容:/**