Mots-clé : ligne de commande

WordPress et shortcodes : comment les lister

Si jamais vous commencez à découvrir la chose super pratique qu’est un shortcode alors voici une petite astuce, si vous êtes sur Linux : comment lister les shortcodes présents.

Il suffit dans le shell, d’aller dans votre répertoire WordPress et de taper cette ligne de commande :

find . -type f -print0 | grep -z php$ | xargs -0 grep 'add_shortcode' | more

Et vous aurez le listing de tous les endroits où on appelle cette fonction. Il ne vous reste plus qu’à regarder ce qu’ont fait les personnes ! Il existe même des shortcodes cachés dans certains thèmes, que les auteurs ont dû faire pour eux, mais qu’ils n’ont pas documenté ! Très pratique !

Exemple :

...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-title', 'hybrid_entry_title_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-author', 'hybrid_entry_author_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-terms', 'hybrid_entry_terms_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-comments-link', 'hybrid_entry_comments_link_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-published', 'hybrid_entry_published_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-edit-link', 'hybrid_entry_edit_link_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-shortlink', 'hybrid_entry_shortlink_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'entry-permalink', 'hybrid_entry_permalink_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'post-format-link', 'hybrid_post_format_link_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'comment-published', 'hybrid_comment_published_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'comment-author', 'hybrid_comment_author_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'comment-edit-link', 'hybrid_comment_edit_link_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'comment-reply-link', 'hybrid_comment_reply_link_shortcode' );
...ygen/library/functions/shortcodes.php: add_shortcode( 'comment-permalink', 'hybrid_comment_permalink_shortcode' );
...gelines/includes/class.shortcodes.php: add_shortcode( $shortcode, array( &$this, $data['function']) );
...b/library/shortcodes.php:add_shortcode('gallery', 'gallery_shortcode_tbs');
...b/library/shortcodes.php:add_shortcode('button', 'buttons');
...b/library/shortcodes.php:add_shortcode('alert', 'alerts');
...b/library/shortcodes.php:add_shortcode('block-message', 'block_messages');
...b/library/shortcodes.php:add_shortcode('blockquote', 'blockquotes');
...ean-retina/library/shortcodes/cleanretina-shortcodes.php: * Creates new shortcodes for use in any shortcode-ready area. This function uses the add_shortcode()
...ean-retina/library/shortcodes/cleanretina-shortcodes.php: * @uses add_shortcode() to create new shortcodes.
...ean-retina/library/shortcodes/cleanretina-shortcodes.php: add_shortcode( 'the-year', 'cleanretina_the_year_shortcode' );
...ean-retina/library/shortcodes/cleanretina-shortcodes.php: add_shortcode( 'site-link', 'cleanretina_site_link_shortcode' );
...ean-retina/library/shortcodes/cleanretina-shortcodes.php: add_shortcode( 'wp-link', 'cleanretina_wp_link_shortcode' );
...ean-retina/library/shortcodes/cleanretina-shortcodes.php: add_shortcode( 'th-link', 'cleanretina_themehorse_link_shortcode' );
...ntra/includes/theme-shortcodes.php:add_shortcode('mantra-site', 'mantra_site_link_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('mantra-author', 'mantra_the_author_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('mantra-tag-cloud', 'mantra_tag_cloud_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('mantra-multi', 'mantra_multi_column_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('mantra-column', 'mantra_column_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode( 'mantra-pullquote', 'mantra_pullquote_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode( 'mantra-button-light', 'mantra_button_light_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode( 'mantra-button-dark', 'mantra_button_dark_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode( 'mantra-button-color', 'mantra_button_color_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode('cryout-site', 'mantra_site_link_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('cryout-author', 'mantra_the_author_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('cryout-tag-cloud', 'mantra_tag_cloud_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('cryout-multi', 'mantra_multi_column_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode('cryout-column', 'mantra_column_fn');
...ntra/includes/theme-shortcodes.php:add_shortcode( 'cryout-pullquote', 'mantra_pullquote_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode( 'cryout-button-light', 'mantra_button_light_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode( 'cryout-button-dark', 'mantra_button_dark_fn' );
...ntra/includes/theme-shortcodes.php:add_shortcode( 'cryout-button-color', 'mantra_button_color_fn' );
...artupwp/functions.php:add_shortcode('wp_caption', 'fixed_img_caption_shortcode');
...artupwp/functions.php:add_shortcode('caption', 'fixed_img_caption_shortcode');
...p:add_shortcode('wp_caption', 'img_caption_shortcode');
...p:add_shortcode('caption', 'img_caption_shortcode');
...p:add_shortcode('gallery', 'gallery_shortcode');
...p:add_shortcode( 'audio', 'wp_audio_shortcode' );
...p:add_shortcode( 'video', 'wp_video_shortcode' );
...-embed.php: add_shortcode( 'embed', '__return_false' );
...-embed.php: * @uses add_shortcode()
...-embed.php: add_shortcode( 'embed', array( $this, 'shortcode' ) );
...es.php: * add_shortcode('footag', 'footag_func');
...es.php: * add_shortcode('bartag', 'bartag_func');
...es.php: * add_shortcode('baztag', 'baztag_func');
...es.php:function add_shortcode($tag, $func) {

Linux, MySQL, utf8 : requêtes et queries : comment éviter le décalage du résultat

Peut être avez-vous déjà rencontré ce problème : vous faites toute une base de données en utf-8.

En suivant les recommandations ici, c’est facile. Le seul problème, et ils ne donnent pas de solution, c’est que lorsqu’on fait les requêtes, les résultats sont bien renvoyés en utf-8 mais il y a un décalage s’il y a des accents :

Image qui montre un décalage de résultat d'une requête mysql en ligne de commande

Comment faire pour éviter ce décalage ? Facile. La solution ici.

En fait dans votre fichier de configuration, il faut aussi configurer le client, pas uniquement le serveur.

Il faut ajouter la directive « default-character-set = utf8 » dans le fichier de configuration :

sudo vim /etc/mysql/my.cnf

[client]
port    = 3306
socket    = /var/run/mysqld/mysqld.sock
default-character-set = utf8

Et puis relancer le service :

sudo service mysql restart

Et voici le résultat : tout est rentré dans l’ordre :

Image qui montre le problème résolu de décalage de résultat d'une requête mysql en ligne de commande

Awstats et activation de plugins

Lorsque vous installez awstats (un outil pour faire des jolies statistiques de fréquentation), certains plugins sont désactivés par défaut :

  • decodeutfkeys
  • ipv6

(entre autres).

L’astuce est extrêmement simple :

Il suffit de lire les commentaires dans le fichier et de lire les modules requis :

Cherchez # REQUIRED MODULES

Respectivement, pour les deux modules :

  • Encode and URI::Escape
  • Net::IP and Net::DNS

En gros il faut installer ces « plugins Perl » Encode, URI::Escape, Net::IP et Net::DNS.

Les ordres à taper sont hyper simples : il vous suffit, en ligne de commande, de :

  • lancer la console d’outils Perl
    (ce n’est peut-être pas exactement cela, mais je le vois comme ça) : tapez
    cpan
  • puis tapez install "nom du module"
  • install Encode
  • install URI::Escape
  • install Net::IP
  • install Net::DNS

Et à chaque ordre, lorsque vous validez par la touche entrée, toute une liste de modules s’installent, et à la fin… tout fonctionne comme par magie !

Facebook en ligne de commande : le howto !

Traduction de l’article ici :
http://fbcmd.dtompkins.com/

C’est tout simplement un bon script en php, à lancer en ligne de commandes. Bon, comme le dit l’auteur, il ne faut surtout pas en abuser et faire un bot qui irait aspirer plein d’informations, hein !