1

カスタムログインフォームをワードプレス管理バーに追加する方法はありますか?要点は、カスタムでカスタマイズ可能である必要があるため、独自の方法でスタイルを設定できるということです。

管理バーにデフォルトのフォームを追加できる簡単な解決策があることは知っていますが、管理バーに表示したい方法でカスタマイズすることはできません。

しかし、カスタム方法で追加する方法がわかりません。

これまでのところ、このようなフォームを追加できます

    $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,
) );

しかし、コーデックス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>

コードを認識する人もいるので、テーマはブートストラップに基づいています。管理領域にさまざまな方法で実装しようとしましたが、うまくいきません。コードをラップして、return 関数を使用し、echo 関数を使用しようとしましたが、試した方法はどれも機能しません。

4

2 に答える 2

2

だから最後に私は解決策を見つけました。おそらくそれは最善ではありませんが、それは機能する解決策です。これは、ログインフォームを含む新しいメニューを管理バーに追加するために使用したコードです(または現在はツールバーと呼ばれています)

    $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>'
    ) );
于 2013-08-13T16:03:55.733 に答える