BuddyPress で
街のポータルサイトを作ってみよう!
街のポータルサイトを作ってみよう!
今更ですが、 IT かあさんです
。
本名:松田千尋
職業:フリーのプログラマ 
主に CakePHP で WEB システム作ったり、サーバ
ーやったりしてますが、 BuddyPress が好きすぎる
28 歳
本日の内容
BuddyPress って何?
BuddyPress のインストールと日本語化のおさらい
BuddyPress のプラグイン紹介
BuddyPress の簡単使い方ガイド
街のポータルサイトを作ろう!
BuddyPress の functions.php
Bu d d yPre s s のユーザーページカスタマイズ
BuddyPress ってなに?
SNS 作れる WordPress プラグイン
BuddyPress で出来ること
BuddyPress の基本機能
ユーザー登録フロー
ユーザーマイページ
いいね
友達機能
ユーザー同士のメッセージ
グループ
SNS を作るほどじゃないし〜っていう時
( そもそも SNS とか興味ないし。 )
BuddyPress をミニマムに使う
必要な機能を限定する
BuddyPress の管理ページで必要な機能だけチェック
ユーザーページがいいのよ
手軽にマイページが持てる
アバター
プロフィール
マイページに独自機能を追加も出来る
特定のユーザーの投稿一覧ページとか
BuddyPress のここがいい!
会員制サイトの基本フローが全て整っている
BuddyPress プラグイン一つだけで作れる
いらない機能は簡単にオフ出来る
あらゆる会員制サイトの可能性
それが BuddyPress なんですわ。
5分で出来るBuddyPress のインストと日本語化BuddyPress のインストと日本語化
第一回のおさらい
公式サイトよりダウンロード
http://wordpress.org/extend/plugins/buddypress/
所々英語表記になってるになってる
日本語化ファイルファイル
http://translate.wordpress.org/projects/buddypress/dev/ja/def
po  と  mo ファイル
buddypress-dev-ja.po  →  buddypress-ja.po
buddypress-dev-ja.mo  →  buddypress-ja.mo
buddypress-ja.mo
/plugins/buddypress/bp-languages
BuddyPress の日本語化ファイルを設置する
日本語化 OK
管理画面も日本語化になっているよ
登録時の固定ページを追加
ユーザー登録させる場合は固定ページ追加を
投稿 URL の変更
誰でもユーザー登録にチェック
BuddyPress インストの5ステップ
BuddyPress のプラグインを有効化
日本語化ファイル設置
登録時の固定ページの紐付け
投稿 URL の変更
誰でも登録出来るようにする にチェック
イケてる BuddyPress のプラグイン
今回使うプラグイン
BuddyPress Activity Plus
BP Profile Search
WP User Frontend
Buddypress Profile Widget for Blogs (おまけ)
BP Profile Search
カスタムしたプロフィールからユーザーを検索
5 分で分かる BuddyPress テーマ
そんなに伝えることも無くてですね・・・
BuddyPress テーマの基本
BuddyPress のデフォルトテーマの子サイトとして
デフォルトテーマの CSS を継承するか・しないか
ゼロからコーディングしないほうが、身のためだ!
ゼロからコーディングしようとして、挫折しました
ページ数が膨大
デフォルトテーマの HTML を利用した方が楽!
極力デフォルトテーマの HTML を少しずつ書き換えて
カスタマイズするのが安全。
子テーマを作ろう
まずは bp-default を複製し、任意の名前を付ける
style.css の編集
/*
Theme Name: BuddyPress kaasan
Theme URI: http://example.org/themes/kaasan/
Description: Simple theme for BuddyPress.
Version: 1.0   // バージョン
Author: ITkaasan
Author URI: http://www.kaasan.info/
Template: bp-default
Tags: buddypress, two-column, grey, dark
*/
タグに buddypress を書く
親スタイルを継承するかどうか
functions.php// これで継承しない。
if ( !function_exists( 'bp_dtheme_enqueue_styles' ) ) :
function bp_dtheme_enqueue_styles() {}
endif;
あとは CSS を
ひたすら書くべしっ!!!
!!
ユーザーページをカスタム!
あるユーザーが投稿した記事一覧
ユーザー投稿機能
マイページから記事投稿出来るようにカスタムした
ページを追加する
bp-custom.php
BuddyPress 版 fuctions.php
plugins 下に bp-custom.php
functions.php じゃないよ!
何かページを追加したり、大きくカスタマイズしたい時
bp-custom.php を追加して、編集する
親メニューの追加
add_action( 'bp_setup_nav', 'works_nav');
// ユーザーメニュー追加の独自関数をセット
function works_nav() {
global $bp;
bp_core_new_nav_item( array(
'name' => ' 実績 ', // メニューの表示名
'slug' => 'works', // スラッグ
'position' => 75,// 追加メニューの表示順位
//   http://hoge.com/members/ ユーザー ID/works/  と、なる
'screen_function' => 'works',
'show_for_displayed_user' => true,// ユーザに表示するか
'default_subnav_slug' => 'works',// ユーザに表示する
'item_css_id' => 'works'// メニュ
) );
}
最低一つの子ページ
function works () {
add_action( 'bp_template_title', 'works_title' );// カスタムユーザーページに見出し
add_action( 'bp_template_content', 'works_content' );// カスタムユーザーページに表示したい内容
bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) );// テーマ
ファイルの呼び出し ( この記述で、メンバーページのファイル )
}
function works_title() {
echo ' 実績一覧 ';
}
子ページ追加
plugins 下に bp-custom.php
add_action( 'bp_setup_nav', 'works_nav'); でメニュー
追加を宣言
親メニューのオプションを定義
親メニューを表示するには最低一つ以上の子ページ
を定義
子ページのタイトルを設定
functions.php
テーマ単体に関わるカスタマイズは
functions.php
インストした Buddy Press 全体に関わる内容は
bp-custom.php
global $bp; でユーザー情報取得
現在表示中のユーザー
$bp->displayed_user;
[domain] => http://websta.info/members/kaasan/
[userdata] => stdClass Object
(
[ID] => 1
[user_login] => kaasan
[user_pass] => $P$BV.qKAxDJ4aciLwWNWCQ3rJ1gs/IVd1
[user_nicename] => kaasan
[user_email] => seven.mazda@gmail.com
[user_url] =>
[user_registered] => 2013-03-07 01:59:39
[user_activation_key] =>
[user_status] => 0
[display_name] => kaasan
)
ログイン中のユーザー
$bp->loggedin_user
(表示される内容は同じ)
ログインしているユーザーだけが表示
if($bp->loggedin_user->id == $bp->displayed_user-
>id)
ユーザーページカスタマイズには
plugins 下に bp-custom.php
$bp->displayed_user
$bp->loggedin_user
質疑応答
お疲れさまでした!

BuddyPressで街のポータルサイトを作ろう