如何在自定义工具栏窗体中使用php

时间:2015-05-10 作者:Alexander

我正在自定义我的管理栏/工具栏,并添加了登录/注销/丢失密码。但说到登记表,我遇到了一堵墙

function registration_admin_bar() {
    global $wp_admin_bar;

    $wp_admin_bar->add_menu( array(
        \'id\' => \'registration-admin-bar\',
        \'parent\' => \'top-secondary\',
        \'title\' => \'


            <form id="registration_form" class="registration_form" action="" method="POST">
            <fieldset>
                <p>
                    <label for="user_Login_name">Brugernavn</label>
                    <input name="user_login_name" id="user_login_name" class="required"  type="text"/>
                </p>
                <p>
                    <label for="user_first_name">Fornavn</label>
                    <input name="user_first_name" id="user_first_name" class="required"  type="text"/>
                </p>
                <p>
                    <label for="user_last_name">Efternavn</label>
                    <input name="user_last_name" id="user_last_name" class="required" type="text"/>
                </p>
                <p>
                    <label for="user_email">Email</label>
                    <input name="user_email" id="user_email" class="required"  type="email"/>
                </p>
                <p>
                    <label for="user_vognl">Vognløbs nr.</label>
                    <input name="user_vognl" id="user_vognl"  type="text"/>
                </p>                
                <p>
                    <label for="user_phone">Telefon nr.</label>
                    <input name="user_phone" id="user_phone"  type="text"/>
                </p>                
                <p>
                    <label for="password">Kode</label>
                    <input name="user_pass" id="password" class="required" type="password"/>
                </p>
                <p>
                    <label for="password_again">Gentag Kode</label>
                    <input name="user_pass_confirm" id="password_again" class="required" type="password"/>
                </p>
                <p>
                    <input type="hidden" name="register_nonce"   />
                    <input type="submit" value="Register din bruger"/>
                </p>



       \'
    ) );
}
add_action( \'admin_bar_menu\', \'registration_admin_bar\' ); 
如上所示,我已经创建了注册表,它可以正常工作,但我不能使用php代码,因为php代码将我限制为仅使用此基本表单。通常,我会将$\\u POST[\'user\\u login\\u name\']作为输入user\\u login\\u name中的值,这样人们在键入错误密码或其他内容时就不必重新开始。

有没有人有创造性的想法来解决这个问题?

//亚历山大

2 个回复
SO网友:Digital Brent

您可以选择使用JS创建存储输入信息的Cookie。Here is an article that explains how to do this. 即使表单未能提交,cookie也将持续。请确保在使用cookie后将其删除。我认为,如果你做饼干,然后把它们留下,这是一种安全风险。我对cookies的经验有限,所以我想说,试试这篇文章,它应该会有用。这也允许您避免php问题,但老实说,我会对此进行更多研究,并试图找出php导致站点崩溃的原因。它绝对不应该这样做。

SO网友:Alexander

这就是我的答案!

首先,我让$form\\u register=一个包含php所需表单的函数。然后,我在工具栏中创建了一个新的菜单项,并将$form\\u register作为标题,这样,如果用户输入的内容不正确,它就可以保留这些值,这样他们就不必重新开始:)。

希望这能帮助遇到和我一样问题的人:D

    function admin_bar_registration_menu( $wp_admin_bar ) {
        if(!is_user_logged_in()) {
    if ( get_option( \'users_can_register\' ) ) {
    $form_register = registration_form_fields(
    );
        $wp_admin_bar->add_menu( array(
        \'id\'     => \'register\',
        \'title\'  => $form_register,
    ) );
}}
}
add_action( \'admin_bar_menu\', \'admin_bar_registration_menu\' );

结束

相关推荐

通过admin-ajax.php进行的AJAX调用返回404错误

目前,我正在尝试执行一个非常基本的AJAX请求,只是为了测试功能,通过管理AJAX路由我的调用。php。然而,每次我尝试触发AJAX请求时,都会收到一个404错误,上面写着“未捕获的语法错误:意外的标记<;”。Wtf?这似乎是因为我的DTD中的carot。。。我已经检查了我的代码,但不知道我在这里做错了什么。。。我对AJAX的工作还比较陌生,所以如果有任何帮助,我将不胜感激。函数中的php。php什么都不是。。。function shows_callback(){ echo \'<