WordPressの記事内にログインのリンクをつくる

2016.6.7 (火)

Loginのリンクを作る

WordPressの更新は、/wp-admin/とか手打ちしたりBookmark探したりするのが辛いので、自分が固定IPの場合は自分だけログイン画面のリンクを貼ったりできます。

<?php
    // Login link allow
    if (in_array($_SERVER["REMOTE_ADDR"], $allowIp)) {
        echo '<li><a href="'.wp_logout_url($redirect).'" target="_blank">Login</a></li>';
    }
?>

$allowIpはどっかで定義しておいたります。職場や自宅、田舎の実家、強いては愛人の家など複数のIPを登録したいので配列でもっておくといいです。

// Login許可IPアドレス
$allowIp = array(
    'xxx.xxx.74.222',
    'xxx.xxx.84.78',
    'xxx.xxx.8.50',
    'xxx.xxx.156.218',
);

記事の編集画面のリンク

記事にはIDがあるので、それを引っ張れば直接記事の編集画面にいけます。single.phpにつくってあげると、自分の書いた記事を即編集可能なのでとてもよいです。

<?php
    // 編集URLを表示
    // edit_post_link( $link, $before, $after, $id );
    if (is_user_logged_in() && in_array($_SERVER["REMOTE_ADDR"], $allowIp)) {
            edit_post_link('この記事を編集', '<p>', '</p>');
    } else if (in_array($_SERVER["REMOTE_ADDR"], $allowIp)) {
        // post.php?post=52&action=edit
        echo '<a target="_blank" href="'.get_bloginfo('url').'/wp-admin/post.php?post='.get_the_ID().'&action=edit'.'">ログインする</a>';
    }
?>

先ほどのIPをログイン状態とで判断します。ログインしている状態の場合は記事の編集リンクを、ログインしていない場合はLoginのリンクを作っています。