Blog → Howto

Tests de matériels et softwares, tutoriaux, trucs et astuces, avis techtools, …

8 octobre 2017

MySql : Taxonomies et posts orphelins dans WordPress

Pour nettoyer la table wp_term_relationships et isoler les données corrompues via commande MYSQL :

SELECT * FROM wp_term_relationships
LEFT JOIN wp_term_taxonomy ON bzh58461_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
WHERE wp_term_taxonomy.term_taxonomy_id is NULL;

ou encore:

SELECT * FROM wp_term_taxonomy
LEFT JOIN wp_terms ON wp_term_taxonomy.term_id = wp_terms.term_id
WHERE wp_terms.term_id is NULL;

Pour repérer les articles orphelins :

SELECT * FROM wp_term_relationships
LEFT JOIN wp_posts ON wp_term_relationships.object_id = wp_posts.ID
WHERE wp_posts.ID is NULL;

A personnaliser selon vos besoins…

14 juin 2017

Affinity Photo : Installer les filtres Nik Software

Nik Software est une collection de filtres offerts gratuitement par Google. Normalement prévu pour Photoshop ou encore Lightroom, il est possible de les installer comme plugin sur le très à la mode Affinity Photo.

Suivez les étapes suivantes (sur macintosh) :

  • Télécharger le fichier d’installation de la Collection sur le site officiel ;
  • Ouvrez le Finder, allez dans le dossier Applications, et créez un nouveau dossier vide « Photoshop plugins » ;
  • Lancer l’installation, après avoir accepté les conditions d’utilisation apparait la liste des applications compatibles. En bas de cet écran, cliquez l’icone [+] et pointez vers le dossier précédemment créé ;
  • Terminez normalement le processus d’installation;
  • Ouvrez Affinity Photo et allez dans le menu Préférences > Modules Photoshop …
  • Dans le panneau Dossier de recherche de modules, ajouter le chemin Applications > Photoshop plugins
  • Dans le panneau Dossier de prise en charge de modules, ajouter la racine de votre mac ( [pomme]+[shift]+[g] puis / )
  • Cliquer le checkbox pour authoriser l’utilisation des plugins non connus ;
  • Fermez et redémarrez Affinity Photo vous retrouvez maintenant la collection Nik en bas du menu Filtres :-)
19 octobre 2016

WP REST API : Gérer le tag « More / Lire la suite »

Par défaut l’API json de WordPress ne gère pas le tag <!–more–> (bouton « lire la suite ») permettant de scinder en 2 parties le contenu d’un article WordPress. Yoren Chang a posé les bases d’une solution mais celle-ci ne répond pas exactement aux besoins du projet sur lequel je bosse actuellement :

  • je rencontre des erreurs de HTML (<p> non fermé au niveau de la césure)
  • je désire rendre optionnel le nouveau nœud json (ne le faire apparaitre que si le tag <!–more–> est présent dans le corp de texte)

J’ai donc mouliné ma propre fonction …

function bagot_rest_prepare_post( $data, $post, $request ) {
$_data = $data->data;
$excerpt = get_extended( $post->post_content );
if( $excerpt['main'] != $excerpt['extended'] ):
$_data['content']['main'] = get_the_content_with_formatting( '', true );
if($_data['content']['main'] != $_data['content']['rendered']):
$data->data = $_data;
endif;
endif;
return $data;
}
add_filter( 'rest_prepare_post', 'bagot_rest_prepare_post', 10, 3 );

Références :

16 mars 2016

Personaliser plusieurs bureaux virtuels sous Mac OSX

Je suis pas trop du genre à updater pour updater, mon mac pro est un outils de travail et a très bien tourné durant des années sous OS 10.6. Mais bon là j’ai du me résoudre à faire le grand saut, plusieurs logiciels étant incompatibles et requerraient un OS plus récent … Me voilà donc sous El Capitan … Par contre j’ai eu un peu de mal à personnaliser les bureaux/espaces virtuels, pour ne pas encombrer trop ma zone de travail je place certains soft qui tournent en tache de fond dans un espace à part. Avant on retrouvait ca dans les options de bureau, c’est pas intuitif un peu plus compliqué maintenan !

Voici comment faire :

  • Ouvrir le mission control [F3], en haut à droite cliquer le + pour créer un nouveau bureau
  • Dans les préférences > Clavier > Mission Control on peut assigner un raccourcis clavier pour switcher d’un bureau à l’autre (dans mon cas [⌘]+[→])
  • En option automatiser l’ouverture de certaines apps au démarrage du système dans Préférences > Utilisateurs > Onglet démarrage
  • Sur le Dock, faire un clic droit sur l’icône de l’app ouverte pour l’assigner à un écran (cas double écran) et/ou glisser/déposer l’application sur le bon espace en utilisant le raccourcis clavier définis avant
3 mars 2016

Installer le générateur de sites Jekyll sur Mac OSX El Capitan

Le nouveau système d’exploitation d’Apple intégre une nouvelle protection de répertoire et processus, System Integrity Protection (SIP) en anglais. Après l’upgrade vous serez donc peut-être confrontés à des « – command not found » et/ou des erreurs de permissions avec Ruby. Voici donc un tutorial pour installer pas-à-pas en quelques minutes le serveur Jekyll avec la dernière version de Ruby …

Lire la suite…

31 janvier 2016

Tutorial : Installer Grunt

J’avais publié il y a quelques la conférence d’Addy Osmani qui traitait des techniques d’optimisations de CSS pour accélérer les sites web. Grunt (ou encore Gulp) est un tasks runner, outils indispensable pour automatiser les taches de concaténation, compresion, optimisation, etc. Je suis tombé sur cette vidéo de Grafikart qui est très claire – et en français s’il-vous-plait – qui sera intéressant pour faire vos premiers pas avec ou revoir les bases pour ceux qui connaissent déjà.

22 octobre 2015

WordPress : changer le statut des articles via Mysql

Dans le cas de la mise en production de la nouvelle version de mon plugin de gestion immobilière sur le site de Maisons de l’Avenir j’avais besoin de temporairement dé-publier toutes les annonces pour tous les mettre en statut « En attente de révision ». L’idée étant de forcer les éditeurs à réviser leurs contenus, et par là même faire tourner un petit script qui mettait à jour mes champs personnalisés (Custom Fields) pour le changement de version…

Ci-dessous la requête, qui dans mon cas limitte donc son action à un certain type d’article.
A adapter selon vos besoins…

UPDATE wp_posts SET wp_posts.post_status = 'your_new_status' WHERE wp_posts.post_status LIKE 'your_old_status' AND wp_posts.post_type LIKE 'your_custom_post_type_name';

Pour rappel les 8 différentes valeurs disponibles par défaut dans Wordpress sont : ‘publish’, ‘future’, ‘draft’, ‘pending’, ‘private’, ‘trash’, ‘auto-draft’ et ‘inherit’.


Image de fond