Histoire d'un Framework

Kirsten Cassidy

Histoire d'un Framework

Créer son framework personelle

portrait-author

Kirsten Cassidy

Indépendante, créatrice de thèmes sur-mesure WordPress depuis 2010.

kirstencassidy.com @mantismamita

Qu'est ce que c'est un framework?

Framework [ˈfrāmˌwərk] : nom. une structure de base qui sous-tend un système, concept.

woolworth's building under construction

Et dans WordPress?

Wordpress Codex: Theme Frameworks

Pourquoi « réinventer la roue »?

Pourquoi un framework?

Les éléments du framework

Le coeur

  1. Dépendant de la présentaion de contenu
  2. Solide, testé et bien commenté
  3. relativement abstrait (conviendra à tous types de projets)
  4. fonctions qui s'appliquent au thème setup (attaché au hook 'init')
    • add_theme_support()
    • load_theme_textdomain()
    • register_nav_menus()

Comment?

Ajouter via functions.php


//Defines contants
define('CORE', get_template_directory() .'/core');
//Loads framework core
require_once(CORE . '/init.php');

Le style et les scripts front-end

Un framework dans un framework?

* Mix and match

Attention avec l'utilsation des scripts

Conditional statements!

			wp_register_script( 'galleries', get_template_directory_uri() . '/build/galleries.min.js',
			array('jquery'), '1.0.0' , true );
			
if (! wp_is_mobile() && ('gallery' == get_post_format() || is_page_template( 'template-gallery' ))){ wp_enqueue_script( 'galleries' ); }

Quand utiliser un plugin?

  1. Est-ce que la fonctionalité est dépendante de la présentation de contenu?
  2. Est-ce que cette fonctionalité est essentielle au raison d'être du site?
  3. Est-ce que cela peut résoudre un problème spécifique qui sera utile pour partager?

Selon les critères du theme review :

Fonctionalités

des plugins spécifiques au site ou au thème

Obligatoires et inclus comme mu-plugins (Must Use) ou...

TGM Plugin Activation

Classe PHP permettant l'installation automatique des plugins pré-packagés, d'un repository git, ou du repository WordPress.


http://tgmpluginactivation.com/

Ajouter les « action hooks »


<?php do_action ( 'framework_before_header' ); ?>

<?php add_action ( 'framework_before_header', 'framework_add_top_menu_bar' ); ?>

Ajouter les « filter hooks »

	<div class="site-credits">
	<p>©2015 <a href="<?php echo apply_filters( 'framework_colophon_link', home_url( '/' )); ?>">
	<?php echo apply_filters('framework_colophon_name', get_bloginfo( 'name' ) ); ?></a></p>

<?php add_filter ( 'framework_colophon_name', 'framework_new_name' ); function framework_new_name(){ $new_name= "Mon <span class="super">super</span> site"; return $new_name; }?>

Créer un child theme ou utiliser son framework comme starter theme?

L'approche child theme

Les avantages Les désavantages
Les mises à jour Moins d'économie de code
Regroupement par types de projets
  • Thèmes Blog
  • Thèmes WooCommerce
  • Thèmes BuddyPress
Une requête SQL de plus

De toute façon, l'essentiel c'est de touver un système qui vous convient, car c'est là, l'avantage de créer son propre framework.

Questions ?

Merci !



et Happy Frameworking.

woolworth's building under construction