gianismとFrontend User Adminでユーザー管理

Pocket

FEEDR.BIZでは、ユーザーが自由にFeedBox(フィードのまとめ)を作成し、公開できる。WordPressをベースにして開発したサービス。

  • ユーザーが簡単に登録して使ってもらうために、ソーシャルメディア(FacebookとTwitter)でのログインを可能にしたい
  • メールで登録したい人は登録できるようにしたい
  • wp-adminは見せたくない、ログイン画面も見せたくない
  • 手間無く管理したい

ということで、フロントエンドユーザー管理プラグイン(有償、以下fua)とgianismプラグイン(無料)を使って作った。
fuaとgianismの設定をそれぞれ済ませると、もう使える状態になる。

フロントエンドユーザー管理プラグイン設定

  • パーマリンクを  /%category%/%postname%/ などにする。
  • ログインページにslugをloginにして、ユーザー管理→環境設定→ログインURL を設定 (最後に/がある/ないだけで正常に動作しなくなるので注意)

gianismの設定

  • 手順に従い、FacebookとTwitterのアプリを作る。APIのキーなどを入手し、入れる。
  • ボタンのカスタマイズとログインのredirect設定
// ログイン後はトップページへredirect
function _my_redirect_to($url){
    return home_url();
}
add_filter('gianism_redirect_to', '_my_redirect_to');
//Facebookログインボタン
function _my_login_link_facebook($markup, $link, $title){
	return '<a href="'.$link.'"><img src="/images/facebook.png" /></a>';
}
add_filter('gianism_link_facebook', '_my_login_link_facebook', 10, 3);
//Twitterログインボタン
function _my_login_link_twitter($markup, $link, $title){
	return '<a href="'.$link.'"><img src="/images/twitter.png" /></a>';
}
add_filter('gianism_link_twitter', '_my_login_link_twitter', 10, 3);

つなげる

ログインは、fuaのウィジェットを使う。hookによって、ちゃんとgianismで設定したソーシャルログインボタンも表示されている。
マイページ(/login)にて、他のアカウントとつなげたり解除したりしたいので、その処理。loginページのphpファイル中で、the_content()の後あたりに

<?php
// gianism
# $gianismはプラグイン中でconstruct済
$gianism->make_instance;
if(!is_user_logged_in())
{
    echo do_shortcode('[fua]');
}
else
{
    define('IS_PROFILE_PAGE', 'dummy');
    $gianism->show_user_profile($current_user);
}
?>

とすると、以下のように表示される。

この記事を書いた人