-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Mahi-Mahi Basics
MAHI_FIX_TINYMCE => Mettre cette constante à true pour corriger les suppressions des balises p et br
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
);
?>
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
- Créer un champs de texte
- Créer un champs pour sélectionner une image
- Créer une meta_box d'aide (texte)
- Créer un champs de texte large (textarea)
- Afficher un champs serialisé
- Créer un champs avec un editeur de texte (wysiwyg)
- Créer un champs pour sélectionner la date
- Créer un champs pour sélectionner la date et l'heure
- Créer un champs avec une checkbox
- Créer un champs avec des checkboxs
- Créer un champs pour sélectionner un utilisateur
- Créer un champs de selection
- Créer un champs de référence vers un autre post (custom type)
- Créer un champs de référence vers un utilisateur wordpress
- Créer un champs d'adresse qui utilise google maps (auto-completion)
- Créer un champs d'adresse qui utilise google map (geo) (deprecated)
- Créer un champs pour ajouter un fichier (deprecated)
- Créer un champs pour ajouter un fichier
- Créer un champs pour gérer les templates dans l'editeur (tinymce)