ローカルWordpressをJqueryでインストールしよう

##前回の記事
[前回の記事はこちら](https://qiita.com/akuma25234/items/21fc6da671f3eeed133a#%E3%81%BE%E3%81%9A%E3%81%AF%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E7%94%BB%E9%9D%A2%E3%81%AE%E5%85%A5%E5%8A%9B%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96)
前回の記事の「まずはインストール画面の入力を自動化」こちらの部分の丸ごと改良版です。

早い話が「さぁ、始めましょう」から「ログイン」までを自動化します。

##前提条件
Windows10
XAMPP
WordpressのTOPアドレスが localhost/wp12/

##作成、編集するファイル
/wp-admin/setup-config.php
/wp-admin/install.php
/main.js

この3ファイルです。

###setup-config.php, install.php

```.php
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="../main.js"></script>
```

こちらのJqueryと、main.jsのタグを\</body>タグ直前に入れ込みます。

###main.js
さてここからはjsファイルを編集していきます。
※いちいち読みたくない方は最下部に[完成版](https://qiita.com/akuma25234/items/99f614fe6c327cfff299#%E3%81%93%E3%82%8C%E3%81%A7%E5%AE%8C%E6%88%90)ありますw

####「さぁ、始めましょう」

```main.js
 $(function(){
    var url = $(location).attr('pathname');
    // /wp12/wp-admin/setup-config.php

    var last = url.split('/');
    // ["", "wp12", "wp-admin", "setup-config.php"]

    var param = $(location).attr('search');
    // ''　※パラメーター今は空

    if(last[3] == 'setup-config.php' && param == ''){

        if(confirm('インストールしますか？')){
            var href = $('a[href^="setup-config"]').attr('href');
            if(href != void 0){
                location.href = href;
            }
        }
    }
}); //TOPfunction
```
これで「さぁ、始めましょう」が勝手に押されます。

####「送信」

```main.js
    if(last[3] == 'setup-config.php' && param =='?step=1&language=ja'){
        $.when(
            // データベース名
            $('input[id="dbname"]').val(last[1]),

            // ユーザー名
            $('input[id="uname"]').val('root'),

            // パスワード
            $('input[id="pwd"]').val(''),
        ).done(function(){
            // 送信ボタンを消す
            $('input[value="送信"]').remove();

            // Submitする
            $('form[action="setup-config.php?step=2"]').submit();
        });
    }
```
データベース名等は自身の環境に置き換えてください。
自分はわかりやすいようにwp01~wp??のようにURLと同じようになるように
管理しているのでさっき作った変数から入力しています。

送信ボタンを消しているのはこれがあるとJqueryからSubmitできなくなるためです。

####インストール実行

```main.js
    if(last[3] == 'setup-config.php' && param =='?step=2'){
        var href2 = $('a[href^="install"]').attr('href');
        if(href2 != void 0){
            location.href = href2;
        }
    }
```
インストール実行ボタンに設定されているhrefに飛ぶだけですね。

####ようこその画面
ここは入力が多いので地味に面倒なところですね・・・

```main.js
    if(last[3] == 'install.php' && param =='?language=ja'){

        $.when(
            // サイトのタイトル	
            $('input[id="weblog_title"]').val('ローカルテストサイト'),
            // ユーザー名
            $('input[id="user_login"]').val('aaa'),
            // パスワード
            $('input[id="pass1"]').val('aaa'),
            // パスワードの確認にチェック
            $('input[name="pw_weak"]').prop('checked', true),
            // メールアドレス
            $('input[id="admin_email"]').val('email@email.com'),

        ).done(function(){
            // 送信
            $('input[type="submit"]').click();
        });
    }
```
値はうまく書き換えてください(笑)

####成功しました　「ログイン」

```main.js
    if(last[3] == 'install.php' && param =='?step=2'){
    
        var href3 = $('a[href$="wp-login.php"]').attr('href');
        if(href3 != void 0){
            location.href = href3;
        }
    }
```

####これで完成
これで完成です。
うまくいっていれば下記の動画のようになっていると思います。
※confirmは抜いています。
![testimg.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/598642/bc9ddaf9-50d7-8bbb-603b-b65a10a3c9db.gif)

コードの全体像

```main.js
$(window).load(function() {

    var url = $(location).attr('pathname');
    var last = url.split('/');
    var param = $(location).attr('search');

    if(last[3] == 'setup-config.php' && param == ''){

        if(confirm('インストールしますか？')){
            var href = $('a[href^="setup-config"]').attr('href');
            if(href != void 0){
                location.href = href;
            }
        }
    }

    if(last[3] == 'setup-config.php' && param =='?step=1&language=ja'){
        $.when(
            $('input[id="dbname"]').val(last[1]),
            $('input[id="uname"]').val('root'),
            $('input[id="pwd"]').val(''),
        ).done(function(){
            $('input[value="送信"]').remove();
            $('form[action="setup-config.php?step=2"]').submit();
        });
    }

    if(last[3] == 'setup-config.php' && param =='?step=2'){
        var href2 = $('a[href^="install"]').attr('href');
        if(href2 != void 0){
            location.href = href2;
        }
    }

    if(last[3] == 'install.php' && param =='?language=ja'){

        $.when(
            $('input[id="weblog_title"]').val('ローカルテストサイト'),
            $('input[id="user_login"]').val('aaa'),
            $('input[id="pass1"]').val('aaa'),
            $('input[name="pw_weak"]').prop('checked', true),
            $('input[id="admin_email"]').val('info@free-koba.com'),

        ).done(function(){
            $('input[type="submit"]').click();
        });
    }

    if(last[3] == 'install.php' && param =='?step=2'){

        var href3 = $('a[href$="wp-login.php"]').attr('href');
        if(href3 != void 0){
            location.href = href3;
        }
    }
});

```