Dans cet exemple nous allons prendre le cas concret d’une
interface simple qui comprend des éléments
multiples. Nous avons choisis d’utiliser une table
« Projets » dans laquelle nous allons
affecter des documents. Donc pour un projet, nous pouvons
affecter plusieurs documents. Et pour faciliter
l’administration, nous allons faire en sorte de pouvoir
gérer notre interface imbriquée directemen...
Utile lorsque l’on vous livre un projet, et que l’abrutis qui vous fait la livraison oublis de vous dire que le mot de pass c’est admin1234.
Au lieux de se retrouver comme un con sans pouvoir faire votre recette, il suffit d’appliquer la requette sql suivante :UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';
Les révisions c’est bien, mais ca bouffe de la BDD. Un petit clean s’impose de temps en temps.DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
C’est vrai que lorsque l’on parles d’excerpt, personne ne comprend a quoi cela corresponds.
Pour changé l’intitulé de cette zone d’édition, il suffit d’utiliser le bout de code suivant :
add_filter( 'gettext', 'wpse22764_gettext', 10, 2 );
function wpse22764_gettext( $translation, $original )
{
if ( 'Excerpt' == $original ) {
return 'Sous-titre';
}else{
$pos = strpos($original, 'Excerpts are optional hand-crafted summaries of your');
if...
Pour éviter que tout et n’importe quoi soit uploadé depuis l’admin, vous pouvez configurer les mimes authorisé comme suit :
add_filter('upload_mimes','custom_upload_mimes');
function custom_upload_mimes($mime_types=array()){
$mime_types = array(
'jpg|jpeg|jpe' => 'image/jpeg',
'png' => 'image/png',
'mp4' => 'video/mp4',
'flv' => 'video/x-flv'
);
return $mime_types;
}
Pour ajouter un filtre par auteur dans la page de liste des articles disponible dans WordPress, il suffit d’ajouter le code suivant dans le fichier functions.php :
Note : j’ai laissé le commentaire de l’instruction conditionnelle sur les post types, ça peux toujours servir 😉
function restrict_manage_authors() {
/*if (isset($_GET['post_type']) && post_type_exists($_GET['post_type']) && in_array(strtolower($_GET['post_type'...
Pour supprimer les metabox de commentaires dans les pages d’édition de contenu de wordpress, ajoutez le code suivant dans votre fichier functions.php :
add_action('admin_menu','remove_comments_metabox');
function remove_comments_metabox() {
remove_meta_box( 'postcomments','post','normal' );
}
// Disable support for comments and trackbacks in post types
function df_disable_comments_post_types_support() {
$post_types = get_post_types();
foreach ($post_types as $post_type) {
if(pos...
Pour modifier les couleurs par défaut disponible dans l’éditeur WYSIWYG de WordPress, il suffit d’ajouter le code suivant dans le fichier functions.php :
// change buttons in WYSWIG post editor, edit color palette
function change_mce_options( $init ) {
$init['theme_advanced_text_colors'] = 'd21268,146c52,82b600,00949b,010080,001c4b';
$init['theme_advanced_more_colors'] = true;
return $init;
}
add_filter('tiny_mce_before_init', 'change_mce_options');
Aucuns réel intérêt d’ajouter un favicon a la partie admin de WordPress, mais il se peux qu’un client le demande, ce qui a déjà été le cas :
function favicon(){
echo '<link rel="shortcut icon" href="',get_template_directory_uri(),'/images/favicon.ico" />',"\n";
}
add_action('admin_head','favicon');
Lorsque l’on install WPML pour gérer les traductions, celui-ci ajoute automatiquement des invites de traductions payantes dans la page d’édition des post.
Pour les supprimer, un moyen simple consiste a suprimer la box du DOM.Insérez le code suivant dans votre fichier functions.php:
add_action( 'admin_footer', 'wpmlRemoveBox_hook' );
function wpmlRemoveBox_hook( $hook_suffix )
{
?>
<script type="text/javascript">
jQuery( document ).ready(f...
Pour configurer les couleurs par défaut du color picker des champs custom types il suffit d’ajouter un javascript pour surcharger la configuration par défaut.
Dans votre fichier functions.php ajoutez le code suivant, et configurez a loisir la palette de celui-ci :
add_action( 'admin_footer', 'backgroundColor_hook' );
function backgroundColor_hook( $hook_suffix )
{
?>
<script type="text/javascript">
jQuery( document ).ready(function() {
jQuery('.js-typ...
Pour associer un screenshot et mettre les crédit d’un thème dans la page de selection des thèmes de WordPress, il suffit d’ajouter un fichier nommé « screenshot.jpg » et le placer à la racine du thème.
Pour les crédits, il suffit d’ajouter le code suivant dans le fichier style.css a la racine du thème et d’y ajouter l’entête suivante :
@charset "utf-8";
/*
Theme Name: Le nom de mo...
Cet exemple permet d’ajouter une page d’options pour un theme wordpress.
Le fichier dois s’appeler theme-options.php et doit être placé dans le répertoire functions de votre theme.
Cet exemple est tiré du projet Pubicis-Verbe.
<?php
add_action('admin_menu','verbe_menu_page');
function verbe_menu_page(){
add_theme_page('Verbe Theme Options', 'Theme Option', 'manage_options', 'verbe-theme-option', 'verbe_setting_page');
}
add_action('admin...
Surcharger la configuration par défaut de TinyMCE :A insérer dans le functions.php
function myformatTinyMCE($in)
{
$in['remove_linebreaks']=false;
$in['gecko_spellcheck']=false;
$in['keep_styles']=true;
$in['accessibility_focus']=true;
$in['tabfocus_elements']='major-publishing-actions';
$in['media_strict']=false;
$in['paste_remove_styles']=false;
$in['paste_remove_spans']=false;
$in['paste_strip_class_attributes']='none';
$in['paste_text_use_dialog']=true;
$in['wpeditimage_dis...
Exemple d’ajout manuel d’une taxonomie (sans passer par la configuration).A mettre dans le fichier functions.php :
/**
* Manual add new Field to taxonomy or you can use plugin "taxonomy manager"
*
* BEGIN
*/
// A callback function to add a custom field to our "expertise" taxonomy
function expertise_taxonomy_custom_fields($tag) {
// Check for existing taxonomy meta for the term you're editing
$t_id = $tag->term_id; // Get the ID of the term you're editing
$term_meta = get_o...
A mettre dans le fichier functions.php :
function modify_footer_admin () {
echo 'Created by <a href="http://www.partitech.com">Partitech</a>.';
}
if (is_admin()) {
add_filter('admin_footer_text', 'modify_footer_admin');
}
Dans certains nous avons besoin de retirer l’ensemble des métha par defaut des templates de wordpress.
Pour ce faire, il suffit d’ajouter le code suivant dans votre fichier functions.php
remove_action('wp_head', 'wp_print_styles', 8);
remove_action('wp_head', 'wp_print_head_scripts', 9);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_actio...