Widgets ‹ Taste traiteur restauration Martinique — WordPress

Désactiver un widget wordpress UNIQUEMENT sur certaines pages

Les widgets permettent d’insérer très rapidement un même bloc (recherche, derniers commentaires) dans certains emplacements définis du thème comme une colonne à droite, ou encore dans le footer.

Comment faire lorsqu’on souhaite afficher un widget partout sur le site et le cacher sur une (ou plusieurs pages ) donnée ?

Une fois n’est pas coutume, via un simple petit plugin , « Display Widget« , qui permet de choisir pour chaque widget les conditions nécessaires pour qu’il soit masqué ou affiché.

Widgets ‹ Taste traiteur restauration Martinique — WordPress

Agrandir la mosaique grille d’images de Jetpack

Jetpack est un plugin de wordpress qui est une véritable boite à outils, avec pleins de choses géniales pour votre wordpress.

Il intègre notamment de nouvelles options d’affichage lorsque vous créez une galerie d’image dans un post, notamment différents affichages en mosaïques.

Par exemple, avec quelques images du blog, ça donne ceci :

 

Or, la largeur max pour cette mosaïque est soit « normalement » définie par le thème avec Content Width (http://codex.wordpress.org/Content_Width)

Si ce n’est pas le cas elle est limitée par défaut à 500px, et cela peut ne pas coller à l’affichage que vous souhaitez.

Afin de changer cette valeur, vous pouvez la définir dans functions.pph de votre thème :

Si vous êtes vraiment fainéant pressé, vous pouvez même utiliser directement ce petit plugin: Custom Content Width.

 

barbichette-e1439568630277

WordPress : Comment redéfinir une fonction du thème parent dans son thème enfant

Lors de l’utilisation de WordPress, l’une des « good practices » et la création de thèmes enfants lors de l’utilisation de thème. En effet, ceci offre beaucoup d’avantages, comme une personnalisation poussée dans le thème enfant, sans gêner les mises à jour du thème parent.

Pour cela plusieurs choses à votre disposition, comme l’utilisation de styles.css ou de functions.php, comme expliqué ici : https://codex.wordpress.org/fr:Th%C3%A8mes_Enfant

dans le functions.php du thème enfant, on peut définir d’autres fonctions directement, ou utiliser des hooks afin de faire des traitements à certains endroits.

 

Toutefois, comment pouvoir redéfinir une fonction du thème parent dans son thème enfant ?

Et bien en fait il n’y pas vraiment de solution propre, il faut inclure un test avant la fonction parente qui vérifie si la fonction est déjà définie ou pas.

En effet, le fichier « functions.php » du thème enfant étant chargé AVANT celui du parent, les fonctions définies dedans seront prises en compte AVANT.

 

Ce qui veut donc dire que si votre thème n’a pas fait ces tests par défaut, vous allez devoir les rajouter pour que ça fonctionne, afin que vos modifs soient prises en compte dans le thème enfant.

Et donc que vos modifications faites dans le thème parent seront perdues à la prochaine mise à jour !
sad crying spongebob squarepants

mailchimp-francais

Traduire le formulaire et les mails de MailChimp

Mailchimp est un super outil pour gérer les newsletters, mais qui par défaut est en anglais.

Pour pouvoir l’adapter, il ya plusieurs façons de faire :

  • directement lors de la création de la liste (mais ça reste modifiable après) au niveau du signup form

list_forms_transeditfields

 

si vous êtes sous wordpress et que vous utilisé le plugin mailchimp Lite, vous pouvez rajouter cette ligne à votre formulaire, qui va directement récupérer la langue à partir des réglages de WordPress :

Pour traduire ce plugin en lui même, je vous recommande loco transalte, qui va vous permettre de le faire directement depuis votre wordpress

Si vous souhaitez adapter votre formulaire en fonction de la langue wpml la réponse est ici : https://mc4wp.com/kb/wpml-display-form-widget-in-correct-language/

ou encore choisir une liste précise en fonction de la lanque, voici le code à rajouter à votre functions.php :

wordpress-logo-606x330

Comment mettre une image à la Une par défaut dans WordPress ?

WordPress est un super outil de blogging, et bien plus.

Il vous permet de rajouter à votre posts des images, et notamment d’en choisir une comme étant « l’image à la Une » (ou featured) qui servira de « logo », de « vignette » à votre post dans votre thème.

Sauf que le fait de désigner une image comme étant une image à la une est une opération manuelle, qu’il faut s’amuser à faire à chaque post.

Heureusement pour vous, il existe cette petite extension, qui permet de rajouter automatiquement comme « image à la Une » la première image qui sera rajoutée à votre post.

Cliquez ici pour télécharger l’extension Simple Auto Featured Image
Testé et approuvé, ça marche très bien ! Par contre, cela ne le fera QUE pour les nouveaux articles que vous écrirez !

Et là je vous entends déjà sortir les mouchoirs et les violons parce que vous avez déjà 14567894212 posts dans votre wordpress, et comment faire pour touuuuut ces posts existants ?
De suite vous pensez Outsourcing,  mais que nenni ! Là aussi il existe une extension permettant d’appliquer ce principe à tous les posts déjà créés, il s’agit de :

Cliquez ici pour télécharger l’extension Auto Featured Image
Testé et approuvé aussi (malgré le message d’alerte de WP sur la page), ça marche très bien !

Après tout ceci, vous n’aurez plus d’excuse pour ne pas avoir d’images à la une !

 

 

 

 

Gengo : résoudre l’erreur Call to a member function wp_rewrite_rules() on a non-object in /wp-includes/classes.php

Gengo, plugin de wordpress pour le multilinguisme, entre en conflit avec certains plugins lors de leurs installation.

Le code d’erreur est de la forme :

Fatal error: Call to a member function wp_rewrite_rules() on a non-object in /wp-includes/classes.php on line ...

que se passe t il donc pour obtenir cette erreur ?

En simplifiant, cette erreur survient lorsqu’un plugin essaye de définir sa langue avant que Gengo soit chargé, et que la fonction du plugin enquestion « load_plugin_textdomain » doit être encapsulée dans une autre fonction appelée au init pour fonctionner.

Là vous êtes paumés et vous sortez un mouchoir, oui je sais. Mais en fin de compte ce n’est pas si compliqué que cela.

Par exemple pour le plugin Cforms qui entre en conflit avec Gengo, en allant /plugins/cforms/cforms.php, on a à la ligne 33 :
load_plugin_textdomain('cforms');

Et c’est cette ligne de code qui pose souci, il faut l’encapsuler dans une autre fonction et l’appeler au init pour que tout rentre dans l’ordre.

Donc
load_plugin_textdomain('cforms');
devient
function cforms_load_textdomain() {
load_plugin_textdomain('cforms');
}
add_action('init', 'cforms_load_textdomain');

Un autre exemple ? Cette fois-ci avec MailPress, plugin d’envoide newsletter pour wordpress, qui pose lui souci avec Gengo.
Là encore, en allant dans /plugins/mailpress/Mailpress.php, on a ligne 34 :

// for gettext
load_plugin_textdomain('MailPress', MP_PATH . 'mp-content/languages');

Sur le même principe, la solution afin que tout fonctionne correctement est :
function mailPress_load_textdomain() {
//load_plugin_textdomain('cforms');
load_plugin_textdomain('MailPress', MP_PATH . 'mp-content/languages');
}
add_action('init', 'mailPress_load_textdomain');

Gengo : comment résoudre l’erreur Call to undefined function get_currentuserinfo() in /wp-content/plugins/gengo/gengo.php on

Gengo est un plugin de wordpress relativement puissant permettant de gérer le multilinguisme.

Toutefois, il arrive souvent qu’il rentre en conflit avec d’autres plugins, notamment en affichant l’erreur suivante :

Call to undefined function get_currentuserinfo() in /wp-content/plugins/gengo/gengo.php on line

La solution à ce souci est relativement simple, et est donnée ici , et effectivement c’est logique :

La fonction get_currentuserinfo() est défini dans le fichier pluggable.php, fichier qui est chargé APRÈS que tous les plugins aient été chargés, ce qui veut dire que vous appeler une fonction qui n’a pas encore été définie au moment ou elle essaye d’être exécutée depuis votre plugin.

Dans mon cas l’appel posant problème venait de gengo :

function locale($locale) {
global $wp_rewrite, $gengo_use_default_language, $userdata;
if (isset($this->processed_locale)) return $locale;
$this->processed_locale = true;
if (!$this->languages) return $locale;
if (is_admin() || $gengo_use_default_language) {
get_currentuserinfo();
$this->add_language_preference($this->get_default_language_id());
}

devient

function locale($locale) {
global $wp_rewrite, $gengo_use_default_language, $userdata;
// On inclus le fichier où est définie la fonction :
require (ABSPATH . WPINC . '/pluggable.php');
if (isset($this->processed_locale)) return $locale;
$this->processed_locale = true;
if (!$this->languages) return $locale;
if (is_admin() || $gengo_use_default_language) {
get_currentuserinfo();
$this->add_language_preference($this->get_default_language_id());
}