+ All Categories
Home > Technology > Extending BuddyPress – WordCamp Milano 2011 [italian]

Extending BuddyPress – WordCamp Milano 2011 [italian]

Date post: 15-May-2015
Category:
Upload: francesco-laffi
View: 3,220 times
Download: 1 times
Share this document with a friend
Popular Tags:
18
Extending BuddyPress Plugin & Temi Francesco Laffi – WordCamp Milano – 27 Maggio 2011
Transcript
Page 1: Extending BuddyPress – WordCamp Milano 2011 [italian]

Extending BuddyPressPlugin & Temi

Francesco Laffi – WordCamp Milano – 27 Maggio 2011

Page 2: Extending BuddyPress – WordCamp Milano 2011 [italian]

Cos’è BuddyPress

BachecaProfili

Amicizie

Messaggi Privati

Gruppi

Forum (bbPress)

UtentiBlog

Commenti

Taxonomy

TemplatesPlugin API

Page 3: Extending BuddyPress – WordCamp Milano 2011 [italian]

Non un semplice plugin

-------------------------------------Lines of code WP 3.2b2 BP 1.2.8-------------------------------------PHP 102400 57363JS 23760 2810CSS 20955 5562HTML 1952 0XML 37 0-------------------------------------SUM: 149104 65735-------------------------------------

Page 4: Extending BuddyPress – WordCamp Milano 2011 [italian]

Extending BuddyPress

Componenti (plugins)

bp-custom.php (snippets)

Temi

Page 5: Extending BuddyPress – WordCamp Milano 2011 [italian]

Plugin per BuddyPress

• sono plugin per WP ma usano le API di BP (funzioni, azioni, filtri)

• eseguire il codice di BP solo dopo che viene caricato:

/* Only load code that needs BuddyPress to run once BP is loaded and initialized. */function my_plugin_init(){    require( dirname( __FILE__ ) . '/my-plugin.php' );}add_action( 'bp_include', 'my_plugin_init' );

Page 6: Extending BuddyPress – WordCamp Milano 2011 [italian]

Componentiexample.org/groups/my-group/forum/topic/test-topic/

example.org/members/francesco/messages/1/view

Accessibili tramite la variabile globale $bp

http://codex.buddypress.org/developer-docs/the-bp-global/

current_component

current_item current_action

action_variables

Page 7: Extending BuddyPress – WordCamp Milano 2011 [italian]

Struttura dei componenti

• Struttura standard

• Usata anche per le funzionalità base di BuddyPress

Page 8: Extending BuddyPress – WordCamp Milano 2011 [italian]

BP Skeleton Component

• Esempio di componente “high five”

• Buona base di partenza per componenti personalizzati

http://wordpress.org/extend/plugins/buddypress-skeleton-component/

Page 9: Extending BuddyPress – WordCamp Milano 2011 [italian]

Extending BuddyPress

Componenti (plugins)

bp-custom.php (snippets)

Temi

Page 10: Extending BuddyPress – WordCamp Milano 2011 [italian]

bp-custom.php

define('BP_FORUMS_SLUG', 'board');

function remove_xprofile_links(){ remove_filter('bp_get_the_profile_field_value', 'xprofile_filter_link_profile_data', 50, );}add_action('plugins_loaded', 'remove_xprofile_links');

• wp-content/plugins/bp-custom.php

• snippets di codice, piccole modifiche

• cambiare slug ai forum:

• rimuovere i link cliccabili dal profilo:

Page 11: Extending BuddyPress – WordCamp Milano 2011 [italian]

Extending BuddyPress

Componenti (plugins)

bp-custom.php (snippets)

Temi

Page 12: Extending BuddyPress – WordCamp Milano 2011 [italian]

bp-default theme

Page 13: Extending BuddyPress – WordCamp Milano 2011 [italian]

URL TemplateURL: example.org/members/francesco/messages/compose/

Template: bp-default/members/single/messages/compose.php

Page 14: Extending BuddyPress – WordCamp Milano 2011 [italian]

i “Loop”• The Activity Stream Loop / bp_has_activities()

• The Forum Topics Loop / bp_has_forum_topics()

• The Members Loop / bp_has_members()

• The Groups Loop / bp_has_groups()

• The Blogs Loop / bp_has_blogs()

• The Group Members Loop / bp_group_has_members()

• The Private Messages Loop / bp_has_message_threads()

• The Profile Data Loop / bp_has_profile()

http://codex.buddypress.org/developer-docs/custom-buddypress-loops/

Page 15: Extending BuddyPress – WordCamp Milano 2011 [italian]

Group Members Loop<?php if ( bp_group_has_members() ) : ?> <div id="member-count" class="pag-count"> <?php bp_group_member_pagination_count() ?> </div> <div id="member-pagination" class="pagination-links"> <?php bp_group_member_pagination() ?> </div> <ul id="member-list" class="item-list"> <?php while ( bp_group_members() ) : bp_group_the_member(); ?> <li> <!-- Example template tags you can use --> <?php bp_group_member_avatar() ?> <?php bp_group_member_link() ?> <?php bp_group_member_joined_since() ?> </li> <?php endwhile; ?> </ul><?php else: ?> <div id="message" class="info"> <p>This group has no members.</p> </div><?php endif;?>

Page 16: Extending BuddyPress – WordCamp Milano 2011 [italian]

Temi personalizzati

• bp-default child theme

• si aggiorna con buddypress

•WP->BP: BuddyPress Template Pack http://wordpress.org/extend/plugins/bp-template-pack/


Recommended