Skip to content
N4vros edited this page Aug 23, 2012 · 38 revisions

Mahi-Mahi Basics

Les constantes Mahi-Mahi Basics

MAHI_FIX_TINYMCE => Mettre cette constante à true pour corriger les suppressions des balises p et br

Les fonctions Mahi-Mahi Basics

get_thumbnail() => Permet de récupérer une miniature de la taille désirée

Définir la fonction thumbnail_sizes() pour que get_thumbnail() puisse gérer les tailles. Pour cela dans le plugins créer un fichier front.php

<?php
function thumbnail_sizes($name = null) {
	$sizes = array(
		'petite-taille' => array('width' => 145, 'height' => 191),
		'moyen-taille' => array('width' => 400, 'height' => 340)
		);
	if (is_null($name)) 
		return $sizes;
	else
		return $sizes[$name];
}
?>

Utilisation de get_thumbnail() :

Ne pas oublier de mettre le dossier thumbnails présent sur le svn dans votre dossier wp-content, cela permet de stocker les miniatures générées, si ce dossier n'est pas présent vous n'aurez aucune miniature.

<?php
//                       ↙ Taille defini dans thumbnail_sizes()
     get_thumbnail('petite-taille', $post_id, $args);
//                      ID du post  ↗         ↖ arguments optionnel
?>
<?php             
     $args = array(
                   'only_featured' => 'true', // Prend uniquement les featured
                   'attachment_id' => 'id-de-votre-attachment', // Permet de selectionner un attachment spécifique
                   'default' => '', // Url de l'image
                   'forceheight' => '', // Force la redimension par rapport à la hauteur
                   'nocrop' => 'false' // True ou false pour couper ou ne pas couper l'image 
                   'only_src' => 'true' // True ou false pour récupérer uniquement le lien
                   'id' => 'mon-id' // Id css pour l'image
                   'class' => 'ma-class' // Class css pour l'image
                  );
?>

Les Custom type Mahi-Mahi Basics

Voici une classe d’exemple d'un custom type sur le type page

<?php
//         ↙ Nom de votre classe
class CustomPage extends CustomType {
	var $slug = "page"; // Slug de votre custom type
	var $post_type_slug = "custom-page"; // Slug de votre custom type
	var $args = array(
                          'label' => 'Custom page',
                          'singular_label' => 'Custom page',
                          'capability_type' => 'page',
                          'supports' => array('title', 'editor', 'custom-fields', 'comments', 'thumbnail'),
                          'dont_register' => true
                          'has_archive' => false
                       // 'rewrite' => array('slug' => 'mon-slug')
		         );
	var $labels = array(
				'name' => 'Les Articles',
				'singular_label' => 'les-articles',
				'add_new' => 'Ajouter un article',
				'add_new_item' => 'Ajouter un article',
				'edit_item' => 'Modifier un article',
				'new_item' => 'Nouvelle article',
				'view_item' => "Voir l'article",
				'not_found' => 'Aucun article trouvé',
				'not_found_in_trash' => 'Aucun article trouvé dans la corbeille',
				'parent_item_colon' => 'Article parent : '
			);

        var $fields = array(
          'meta_name' => array('title' => 'Ma meta box')
        );
}
//     ↙ Permet de crée la classe a l'initialisation de wordpress
add_action("init", "CustomPageInit");
//                        ↖ Nom de la fonction appelé
function CustomPageInit() {
	new CustomPage();  // Instanciation de la classe
}
?>

La variable $args peut prendre plusieurs valeurs:

<?php
var $args = array(
        'label' => 'Custom page', // Label du custom type
        'singular_label' => 'Custom page', // Label du custom type
        'capability_type' => 'page', // Permet de dire que notre page est de type page (peut prendre la valeur post)
        'supports' => array('title', 'editor', 'custom-fields', 'comments', 'thumbnail', 'page-attributes'),
//          Active le titre   ↗         ↑             ↑             ↑            ↑          ↖ Active les parents, enfants..     
//                    Active l'editeur de texte       |             |            |
//                                  Active le block custom fields   |      Active les images miniatures
//                                                           Active les commentaires
        'dont_register' => true // Permet de ne pas enregistrer un nouveau custom type et d'écraser l'existant
        'has_archive' => false // True ou false, permet de définir une page d'archive (ex: lister les posts du custom type..)
     // 'rewrite' => array('slug' => 'mon-slug') // Permet de définir un slug plus adapté pour le front
	);
?>

La variable $labels peut prendre plusieurs valeurs:

<?php
var $labels = array(
		'name' => 'Les Articles', // Nom de votre custom type dans l'admin
		'singular_label' => 'les-articles', // Slug de votre custom type dans l'admin
		'add_new' => 'Ajouter un article', // Valeur du bouton ajouter
		'add_new_item' => 'Ajouter un article', // Valeur du bouton ajouter
		'edit_item' => 'Modifier un article', // Valeur du bouton editer
		'new_item' => 'Nouvelle article', // Valeur du bouton ajouter
		'view_item' => "Voir l'article", // Valeur du bouton voir
		'not_found' => 'Aucun article trouvé', // Valeur quand rien n'est trouvée
		'not_found_in_trash' => 'Aucun article trouvé dans la corbeille', // Valeur quand rien n'est trouvée dans la corbeille
		'parent_item_colon' => 'Article parent : ' // Valeur pour les parents
	       );
?>

Pour le champs fields regarder la liste des options disponibles ci-dessous

Liste des différents custom fields:

Liens utiles

Liste des options dans une query wordpress