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);
}
?>

