Hello Ă  tou(te)s,

Je suis trĂšs heureux de vous annoncer la mise en ligne de la version 2.0 de BP Code Snippets. Et comme le titre l’indique cette version est enfin compatible avec BuddyPress 1.5+. Je dirais mĂȘme plus, elle ne s’exĂ©cute que sous BuddyPress 1.5+ !!

Pour tous les utilisateurs de l’ancienne version : je vous invite Ă  lire les informations d’upgrade que j’ai Ă©crite en anglais, car certains d’entre vous ne sont pas français 😉

Ce plugin est trĂšs particulier pour moi : c’est le premier que j’ai dĂ©posĂ© dans le WordPress repository. Aussi, j’ai souhaitĂ© partager avec vous cette vidĂ©o (un show imaginaire animĂ© par +batrieg 🙂 ) que @prestagogo a eu la gentillesse de concevoir. J’y prĂ©sente le plugin, ses principales nouveautĂ©s et je reviens sur mon exploration de WordPress et BuddyPress.. Un petit bilan en quelque sorte !

Quoi de neuf dans la v2 ?

Comme je l’explique dans la vidĂ©o, il y a les nouveautĂ©s visibles et les autres ! Donc pour se rĂ©sumer : cette version optimise l’intĂ©gration de BP Code Snippets dans BuddyPress 1.5+, ajoute la possibilitĂ© de partager plus rapidement des snippets grĂące Ă  son interface avec BP Bookmarklet, permet aux utilisateurs de mettre des snippets en favoris et Ă  tous les utilisateurs de rĂ©cupĂ©rer un code embed du snippet. Voici une dĂ©mo de ces diffĂ©rentes nouveautĂ©s

Pour la partie immergĂ©e de l’iceberg, en voici quelques autres…

screen notifications en cas de commentaire sur un snippet

La prĂ©cĂ©dente version ne permettait pas forcĂ©ment de bien suivre les commentaires apportĂ©s aux snippets dĂ©posĂ©s. DĂ©sormais, l’auteur du Snippet recevra une screen notification et une notification email contenant le contenu du commentaire.

network-admin child-admin

En cas d’installation Multisite, le blog enfant a le choix!

Auparavant, lorsque BP Code Snippets Ă©tait activĂ© sur les articles de blog. Tous les blogs d’un rĂ©seau hĂ©ritaient de ce comportement sans avoir donnĂ© leur accord ! DĂ©sormais, dans le cas d’une installation multisite, Ă  cĂŽtĂ© de Code Snippets Manager qui est accessible depuis le network admin, chaque blog enfant aura sa « Snippets Option » disponible depuis les rĂ©glages du blog.

Je me suis aussi amusĂ© Ă  tirer profit des screenshots qu’on ajoute au repository pour illustrer son plugin et qui sont rapatriĂ©s dans le rĂ©pertoire du plugin lorsqu’on l’installe. Ainsi depuis l’aide contextuelle, il sera possible d’ouvrir une fenĂȘtre modale qui lancera le screenshot illustrant l’aide.

J’ai Ă©galement amĂ©liorĂ© la gestion de l’enregistrement des activitĂ©s en me souciant de les effacer si toutefois le snippet Ă©tait supprimĂ©, Ă©vitant ainsi d’Ă©ventuelles 404.

Enfin, et ce sera ma transition vers le chapitre suivant, j’ai truffĂ© le plugin de hooks que vous pourrez intercepter pour customiser son comportement et l’adapter au plus proche de vos besoins

Personnaliser BP Code Snippets

Je vous propose ici quelques snippets pour vous permettre de personnaliser encore plus le plugin. Tous ces morceaux de codes sont réunis dans le functions.php de ce thÚme enfant de BuddyPress.

Ajouter de nouveaux champs au formulaire de dépÎt de snippets

Un BP Code Snippets meta !! – formulaire

<?php
/* saving bp_code_snippets_meta */
add_action( 'bp_code_snippets_published_snippet', 'imath_handle_custom_field_submit', 10, 5 );

function imath_handle_custom_field_submit( $snippet_id ) {
   
   $snippet_custom_field = wp_kses( $_POST['imath_custom_field'], array() );
   
   bp_code_snippets_update_meta( $snippet_id, 'my_meta', $snippet_custom_field );
}

/**
* Add custom field to the snippet form
*/

// If new template
add_action( 'snippets_new_snippet_after', 'imath_add_custom_field' );

// If edit template
add_action( 'snippets_edit_snippet_after', 'imath_add_custom_field' );

function imath_add_custom_field() {
   
   if( bp_code_snippets_is_edit_snippet() ) {
      $snippet_custom_field = bp_code_snippets_get_meta( bp_get_snippet_id(), 'my_meta' ) ;
      $snippet_custom_field = wp_kses( $snippet_custom_field, array());
   }
   
   ?>
   <label>My Meta : an external url for this snippet ?</label>
   <input type="text" name="imath_custom_field" id="imath_custom_field" value="<?php echo $snippet_custom_field;?>">
   <?php
}

Un BP Code Snippets meta !! – display 😉

/**
* Display custom field value.
* You can also use these hooks instead
* bp_before_purpose_snippets
* bp_after_purpose_snippets
*/
add_action( 'bp_after_content_snippets', 'imath_display_custom_field' );

function imath_display_custom_field() {
   $snippet_custom_field = bp_code_snippets_get_meta( bp_get_snippet_id(), $meta_key = 'my_meta' ) ;
   
   if( $snippet_custom_field )
      echo '<p class="my_meta">First seen on <a href="' . $snippet_custom_field . '">' . $snippet_custom_field .'</a></p>';
      
}

Ajouter un bouton Twitter aux meta buttons

Un bouton twitter pour partager vos snippets 😉

/**
* Add meta buttons example > Twitter
*/
add_action('bp_code_snippets_other_meta_buttons', 'imath_twitter_button');

function imath_twitter_button() {
   $twitter_account = 'yourtwitteraccountwithout@';
   ?>
   <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="<?php echo $twitter_account; ?>" data-url="<?php bp_snippet_permasnpt();?>" data-text="<?php bp_snippet_title();?>" data-lang="fr">Tweet</a>
   <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
   <?php
}

Personnaliser le branding dans les iframes des embed snippets

mon avatar et un message perso au lieu du logo et du lien par défaut

/**
* Customize iframe Branding
*/

add_filter( 'bp_code_snippets_add_brand', 'imath_custom_brand', 2, 2);

function imath_custom_brand($href, $class) {
   
   $href = get_bloginfo('siteurl');   
   $name = get_bloginfo('name');
   
   return '<span class="default-brand"><img src="'.get_stylesheet_directory_uri() .'/images/imath.jpg"><a href="'.$href.'" class="'.$class.'" target="top">Click to discover more snippets on '.$name.' !</a></span>';
}
?>

Une petite astuce pour conclure..

Comme vous avez pu le voir, BP Code Snippets propose de rĂ©cupĂ©rer un iframe pour afficher un snippet directement dans un autre site ou blog… Or si on colle un iframe dans WordPress tel quel.. ça donne pas grand chose car cette balise n’est pas autorisĂ©e. Ci-aprĂšs vous trouverez une astuce (Ă  utiliser dans un functions.php par exemple) pour pouvoir directement ajouter les snippets dans un blog WordPress n’ayant rien Ă  voir avec le site sur lequel est installĂ© BP Code Snippets. A manier avec prĂ©cautions 😉

<?php
function embed_snippets_shortcode_handler($atts, $content) {
   global $post, $bp;

   extract(shortcode_atts(array('url' => false, 'width'=>'100%', 'height' => '100px'), $atts));
   
   if( $url ) {
      return '<iframe src="'.$url.'" frameborder="0" width="'.$width.'" height="'.$height.'"></iframe>';
   } elseif( !$url && $content) {
      return $content;
   }
   
}

function embed_snippets_run_shortcode( $content ) {
global $shortcode_tags;

   /**
   * many thanks to Viper007Bond for this trick
   * http://www.viper007bond.com/2009/11/22/wordpress-code-earlier-shortcodes/
   */

   // Backup current registered shortcodes and clear them all out
   $orig_shortcode_tags = $shortcode_tags;
   remove_all_shortcodes();

   add_shortcode( 'embedsnippet', 'embed_snippets_shortcode_handler' );

   // Do the shortcode (only the one above is registered)
   $content = do_shortcode( $content );

   // Put the original shortcodes back
   $shortcode_tags = $orig_shortcode_tags;

   return $content;
}

add_filter( 'the_content', 'embed_snippets_run_shortcode', 7 );
?>

Important : you’ll need to upgrade to BuddyPress 1.5 before upgrading BP Code Snippets to version 2.0. Once BuddyPress is upgraded, make sure to back up all your config (database and files) before attempting to upgrade BP Code Snippets to version 2.0.
If you upgraded to BP Code Snippets 2.0 and want to roll back to 1.3.3, make sure not to use the delete button of the plugin administration. Instead delete manually the files and paste those of previous version.

Télécharger le plugin

8 rĂ©flexions au sujet de « BP Code Snippets 2.0 : finally #BuddyPress 1.5+ ready ! »

  1. BenHen

    Haha gĂ©nial l’interview, mĂȘme peu tĂ©lĂ©chargĂ©, tes plugins sont super utiles, merci!

    Je me considùre moi aussi comme un bricoleur lol 🙂

  2. Maria

    Bonjour,

    J’adore le plugin et je souhaiterais l’utiliser avec le theme Buddyboss. Cependant, les blocs sont comme « cassĂ©s ». Si vous acceptez de rĂ©soudre mon problĂšme, je pourrais vous envoyer la traduction en espagnol en Ă©change?
    Merci d’avance

    MarĂ­a

    1. imath Auteur

      Bonjour Maria,

      la seule difficultĂ© est que je ne dispose pas de ce thĂšme et que c’est un thĂšme payant.. Mais pourquoi pas.. BuddyBoss est-il compatible BuddyPress 1.5+ ?

  3. rad

    Hello,

    I wanted to extract all the snippets I entered already using bp-code-snippets, I went to phpmyadmin but surprisingly all the codes were containing magic quotes, so there is no way for me to extract raw text of my snippets.

    Any idea on how to solve that, I want to get a csv or excel of all my snippets

    Thanks

Les commentaires sont fermés.