SlideShare uma empresa Scribd logo
1 de 55
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
質疑応答
お疲れさまでした!

Mais conteúdo relacionado

Mais procurados

WordPressでウェブサービスを作ろう! #wbNagoya
WordPressでウェブサービスを作ろう! #wbNagoyaWordPressでウェブサービスを作ろう! #wbNagoya
WordPressでウェブサービスを作ろう! #wbNagoya
Shinichi Nishikawa
 
WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?
tokumotonahoko
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
Masakazu Muraoka
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
Fumio SAGAWA
 
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
Chieko Aihara
 

Mais procurados (20)

WordPressでウェブサービスを作ろう! #wbNagoya
WordPressでウェブサービスを作ろう! #wbNagoyaWordPressでウェブサービスを作ろう! #wbNagoya
WordPressでウェブサービスを作ろう! #wbNagoya
 
WordPressってブログじゃないの?
WordPressってブログじゃないの?WordPressってブログじゃないの?
WordPressってブログじゃないの?
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
WordPressはじめてのプラグイン作成
WordPressはじめてのプラグイン作成WordPressはじめてのプラグイン作成
WordPressはじめてのプラグイン作成
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
WordPress ブラウザで始めるカスタマイズ+ テーマの基礎的な知識
WordPress ブラウザで始めるカスタマイズ+ テーマの基礎的な知識WordPress ブラウザで始めるカスタマイズ+ テーマの基礎的な知識
WordPress ブラウザで始めるカスタマイズ+ テーマの基礎的な知識
 
120225 bootstrap
120225 bootstrap120225 bootstrap
120225 bootstrap
 
Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発Yeomanではじめる爆速webアプリ開発
Yeomanではじめる爆速webアプリ開発
 
WordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイトWordPressで作るポートフォリオサイト
WordPressで作るポートフォリオサイト
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
日本語フォーラムで回答してみよう!~誰でも出来るWordPressへの貢献〜
日本語フォーラムで回答してみよう!~誰でも出来るWordPressへの貢献〜日本語フォーラムで回答してみよう!~誰でも出来るWordPressへの貢献〜
日本語フォーラムで回答してみよう!~誰でも出来るWordPressへの貢献〜
 
WordPressプラグインの作り方
WordPressプラグインの作り方WordPressプラグインの作り方
WordPressプラグインの作り方
 
WordPress公式ディレクトリにテーマを登録しよう #wctokyo
WordPress公式ディレクトリにテーマを登録しよう #wctokyoWordPress公式ディレクトリにテーマを登録しよう #wctokyo
WordPress公式ディレクトリにテーマを登録しよう #wctokyo
 
SPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWorkSPAに必要なJavaScriptFrameWork
SPAに必要なJavaScriptFrameWork
 
非エンジニア向けHTML勉強会その1
非エンジニア向けHTML勉強会その1非エンジニア向けHTML勉強会その1
非エンジニア向けHTML勉強会その1
 
WordBench京都版 _sハンズオン
WordBench京都版 _sハンズオンWordBench京都版 _sハンズオン
WordBench京都版 _sハンズオン
 
マークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャマークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャ
 
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
WordPressの多言語プラグイン「qTranslate」で、あなたのサイトも世界にデビュー♪
 
スキトラ Spring + mybatis
スキトラ Spring + mybatisスキトラ Spring + mybatis
スキトラ Spring + mybatis
 
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
 

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

Word camposaka imaigo_slideshare
Word camposaka imaigo_slideshareWord camposaka imaigo_slideshare
Word camposaka imaigo_slideshare
Go Imai
 
PHPがわからないデザイナーでもできる、簡単カスタマイズ術
PHPがわからないデザイナーでもできる、簡単カスタマイズ術PHPがわからないデザイナーでもできる、簡単カスタマイズ術
PHPがわからないデザイナーでもできる、簡単カスタマイズ術
Eri Sawada
 
デザイナーとプログラマーの 仲良し大作戦
デザイナーとプログラマーの 仲良し大作戦デザイナーとプログラマーの 仲良し大作戦
デザイナーとプログラマーの 仲良し大作戦
sogawaminoru
 

Semelhante a BuddyPressで街のポータルサイトを作ろう (17)

いまさら聞けない!ホームページの立ち上げから運用体制構築
いまさら聞けない!ホームページの立ち上げから運用体制構築いまさら聞けない!ホームページの立ち上げから運用体制構築
いまさら聞けない!ホームページの立ち上げから運用体制構築
 
無料から始めるJimdoホームページ作成セミナー "Get started with Jimdo Free!"
無料から始めるJimdoホームページ作成セミナー "Get started with Jimdo Free!"無料から始めるJimdoホームページ作成セミナー "Get started with Jimdo Free!"
無料から始めるJimdoホームページ作成セミナー "Get started with Jimdo Free!"
 
WordPress 初心者さんが知っておいたほうが良い事&プラグインの紹介
WordPress 初心者さんが知っておいたほうが良い事&プラグインの紹介WordPress 初心者さんが知っておいたほうが良い事&プラグインの紹介
WordPress 初心者さんが知っておいたほうが良い事&プラグインの紹介
 
ホームページ制作
ホームページ制作ホームページ制作
ホームページ制作
 
javascriptの基礎
javascriptの基礎javascriptの基礎
javascriptの基礎
 
introduction
introductionintroduction
introduction
 
Re:Cre Vol.14 | Web design process for the future
Re:Cre Vol.14 | Web design process for the futureRe:Cre Vol.14 | Web design process for the future
Re:Cre Vol.14 | Web design process for the future
 
プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方
 
コードをさわらずにビジネスサイトを作ろう!
コードをさわらずにビジネスサイトを作ろう!コードをさわらずにビジネスサイトを作ろう!
コードをさわらずにビジネスサイトを作ろう!
 
問いを疑え-本当の課題と解にたどり着く問いとは-SansanBuildersBox2018
問いを疑え-本当の課題と解にたどり着く問いとは-SansanBuildersBox2018問いを疑え-本当の課題と解にたどり着く問いとは-SansanBuildersBox2018
問いを疑え-本当の課題と解にたどり着く問いとは-SansanBuildersBox2018
 
Word camposaka imaigo_slideshare
Word camposaka imaigo_slideshareWord camposaka imaigo_slideshare
Word camposaka imaigo_slideshare
 
ホームページを制作する前に知っておきたい13のこと
ホームページを制作する前に知っておきたい13のことホームページを制作する前に知っておきたい13のこと
ホームページを制作する前に知っておきたい13のこと
 
PHPがわからないデザイナーでもできる、簡単カスタマイズ術
PHPがわからないデザイナーでもできる、簡単カスタマイズ術PHPがわからないデザイナーでもできる、簡単カスタマイズ術
PHPがわからないデザイナーでもできる、簡単カスタマイズ術
 
工数削減! 印刷物デザイナーに知ってほしい コスパの良いWebデザイン.pdf
工数削減! 印刷物デザイナーに知ってほしい コスパの良いWebデザイン.pdf工数削減! 印刷物デザイナーに知ってほしい コスパの良いWebデザイン.pdf
工数削減! 印刷物デザイナーに知ってほしい コスパの良いWebデザイン.pdf
 
デザイナーとプログラマーの 仲良し大作戦
デザイナーとプログラマーの 仲良し大作戦デザイナーとプログラマーの 仲良し大作戦
デザイナーとプログラマーの 仲良し大作戦
 
2013 HTML5カンファレンス  レスポンシブWebデザイン
2013  HTML5カンファレンス   レスポンシブWebデザイン2013  HTML5カンファレンス   レスポンシブWebデザイン
2013 HTML5カンファレンス  レスポンシブWebデザイン
 
複数のWordPressサイトをボタンひとつで全てアップデートできるプラグイン「MainWP」
 複数のWordPressサイトをボタンひとつで全てアップデートできるプラグイン「MainWP」 複数のWordPressサイトをボタンひとつで全てアップデートできるプラグイン「MainWP」
複数のWordPressサイトをボタンひとつで全てアップデートできるプラグイン「MainWP」
 

Mais de 松田 千尋

Mais de 松田 千尋 (6)

JavaScript祭in ForPro nuxt.jsとSSRことはじめ
JavaScript祭in ForPro nuxt.jsとSSRことはじめJavaScript祭in ForPro nuxt.jsとSSRことはじめ
JavaScript祭in ForPro nuxt.jsとSSRことはじめ
 
WordCamp Tokyo2016itkaasan
WordCamp Tokyo2016itkaasanWordCamp Tokyo2016itkaasan
WordCamp Tokyo2016itkaasan
 
Node.jsでデータ収集して デスクトップアプリを作ろう!
Node.jsでデータ収集して デスクトップアプリを作ろう!Node.jsでデータ収集して デスクトップアプリを作ろう!
Node.jsでデータ収集して デスクトップアプリを作ろう!
 
React.jsでHowManyPizza
React.jsでHowManyPizzaReact.jsでHowManyPizza
React.jsでHowManyPizza
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
 
Windows Azure kaasanイメージについて
Windows Azure kaasanイメージについてWindows Azure kaasanイメージについて
Windows Azure kaasanイメージについて
 

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