自定义登录表单到wordpress管理栏

时间:2013-08-10 23:55:18

标签: php wordpress login

有没有办法将自定义登录表单添加到wordpress管理栏,关键是我需要它自定义和可自定义,所以我可以按照自己的方式设置它。

我知道有一个简单的解决方案,我可以将默认表单添加到管理栏,但我无法按照我希望在管理栏上显示的方式进行自定义。

但我不知道解决方案如何以自定义方式添加它。

到目前为止,我可以添加这样的表格

    $form = wp_login_form( array(
    'form_id' => 'adminloginform',
    'echo' => false,
    'label_username' => __(''),
    'value_remember' => true
) );

$wp_admin_bar->add_menu( array(
    'id'     => 'login',
    'title'  => $form,
) );

但是从codex http://codex.wordpress.org/Function_Reference/wp_login_form开始,并不存在我想要自定义的所有数据,例如在密码字段中,我无法删除密码标签并在文本字段中插入密码文本。但是,我可以使用

为用户名字段执行此操作
'label_username' => __(''),
'value_username' => __('Username'),

这将使标签消失并在用户名文本字段中显示用户名,但密码字段没有值更改。也许这是因为安全原因,但这将为我节省一些我需要的空间。

登录的当前菜单我在单独的下拉链接中使用,它看起来像这样

    <a class="btn btn-info dropdown-toggle" data-toggle="dropdown" href="#"><?php _e('Login', 'vt-translate');?> <span class="caret"></span></a>
<div class="dropdown-menu dropdown" style="padding:8px">
<form class="form-horizontal" action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<div class="control-group">
<input type="text" id="inputUname" name="log" placeholder="Username" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>">
</div>
<div class="control-group">
<input type="password" id="inputPassword" name="pwd" placeholder="Password">
</div>
<div class="control-group">
<label class="checkbox">
<input type="checkbox" name="rememberme" id="rememberme" checked="checked" value="forever" ><?php _e(' Remember me', 'vt-translate'); ?>
<input type="hidden" name="redirect_to" value="<?php echo $_SERVER['REQUEST_URI']; ?>" />
</label>
<a href="<?php echo get_option('home'); ?>/wp-login.php?action=lostpassword"><?php _e('Lost password?', 'vt-translate'); ?></a>
</div>
<button type="submit" class="btn btn-info" name="submit" value="Send"><?php _e('Login', 'vt-translate'); ?></button>
</form>
</div>

有些人会识别代码所以是的,主题是基于bootstrap,我试图以几种不同的方式实现它到管理区域,但它只是不会工作。我试图包装代码,使用返回函数,使用echo函数,但我尝试的方法都不起作用。

2 个答案:

答案 0 :(得分:1)

所以最后我发现了一个解决方案,也许它不是最好的,但它是有效的解决方案,这里是我用来添加新菜单和登录表单到管理栏(或现在称为工具栏)的代码

    $wp_admin_bar->add_node( array(
    'id' => 'loginform',
    'parent' => 'top-secondary',
    'title' => '<form action="' .wp_login_url(). '" method="post" class="form-inline" id="adminbar-loginform">
                <input type="text" id="inputUname" name="log" placeholder="Username" class="admin-input" />
                <input type="password" id="inputPassword" name="pwd" placeholder="Password" class="admin-input" />
                <label class="checkbox">
                <input type="checkbox" name="rememberme" id="rememberme" checked="checked" value="forever" class="admin-check" /> Remember me</label>
                <input type="hidden" name="redirect_to" value="' .$_SERVER['REQUEST_URI']. '" />
                <button type="submit" class="btn admin-button" name="submit" value="Send">Login</button>
            </form>'
    ) );

答案 1 :(得分:0)

您可以通过名为Wp custom login

的简单插件自定义登录信息

您可以创建自定义页眉和页脚并着色登录以及