Graphikod | Tips, Snippets and Tutorials

Obtenir l’uri vers une page wordpress à partir de son slug

function get_page_link_by_slug($page_slug) { $page = get_page_by_path($page_slug); if ($page) : return get_permalink( $page->ID ); else : return "#"; endif; }

02. juin 2014 par azriel
Catégories: Code snippets, PHP, Wordpress | Tags: , , | Laisser un commentaire

WordPress liens partage réseau sociaux

 HTML | 
 
 Copier le code |
?

1
    <div>
2
        <a target="_blank" title="Twitter" href="https://twitter.com/share?url=<?php the_permalink(); ?>&text=<?php the_title(); ?>&via=moncomptetwitter" rel="nofollow" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=700');return false;">Twitter</a>
3
        <a target="_blank" title="Facebook" href="https://www.facebook.com/sharer.php?u=<?php the_permalink(); ?>&t=<?php the_title(); ?>" rel="nofollow" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=500,width=700');return false;">Facebook</a>
4
        <a target="_blank" title="Google +" href="https://plus.google.com/share?url=<?php the_permalink(); ?>&hl=fr" rel="nofollow" onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;">Google Plus</a>
5
        <a target="_blank" title="Linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php the_permalink(); ?>&title=<?php the_title(); ?>" rel="nofollow" onclick="javascript:window.open(this.href, '','menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;">Linkedin</a>
6
        <a target="_blank" title="Envoyer par mail" href="mailto:?subject=<?php the_title(); ?>&body=<?php the_permalink(); ?>" rel="nofollow">Email</a>
7
    </div>

31. janvier 2014 par azriel
Catégories: Code snippets, HTML | Tags: , | Laisser un commentaire

Problème de lenteur de WordPress sur un mutu OVH ?

Placer un fichier .ovhconfig dans le rep. /www/ du FTP, contenant ceci :

 INI | 
 
 Copier le code |
?

1
app.engine=php
2
app.engine.version=5.4
3
http.firewall=none
4
environment=production

15. janvier 2014 par azriel
Catégories: Wordpress | Tags: , , | Laisser un commentaire

Utiliser la « transition » CSS3 sur la propriété display d’un bloc

logo_css3

Pour commencer, ce n’est pas possible tel quel. En revanche, voici une astuce permettant de faire exactement la même chose :

 CSS | 
 
 Copier le code |
?

01
.bloc_wrapper {
02
 display: block;
03
 opacity: 0; 
04
 height: 0;
05
 overflow: hidden;
06
 
07
 -webkit-transition: all 500ms ease-in-out;
08
 -moz-transition: all 500ms ease-in-out;
09
 -ms-transition: all 500ms ease-in-out;
10
 -o-transition: all 500ms ease-in-out;
11
 transition: all 500ms ease-in-out;
12
}
13
.bloc_wrapper.bloc_open {
14
 opacity: 1;
15
 height: auto;
16
}

10. janvier 2014 par azriel
Catégories: CSS | Tags: , , | Laisser un commentaire

Remplacer le système de cron de WordPress par une vrai crontab

Wordpress crontab

Vous ne l’avez peut-être jamais remarqué, mais WordPress embarque sa propre solution permettant le lancement de tâches planifiées. Mais nous avons déjà vu qu’elle n’était pas implémentée de manière satisfaisante.

Aujourd’hui, nous allons voir comment simplement désactiver le fonctionnement natif des cron wordpress afin de le remplacer par un appel d’une crontab d’un vrai système GNU/Linux.

Désactivation du cron wordpress

Rien de plus simple, il suffit d’ouvrir le fichier de config wp-config.php et d’y rajouter ceci :

1
define('DISABLE_WP_CRON', true);

A partir de là, wordpress ne tentera plus d’exécuter vos cron à chaque appel de vos visiteurs, suivant la périodicité de vos cron, ainsi qui suivant le trafic sur votre site, cela peut considérablement améliorer l’expérience utilisateur.

Mise en place du cron sur GNU/Linux

Bon, c’est bien beau tout ça, mais à ce stade, on a plus du tout de cron actif sur le site, il va falloir arranger ça.

Ajout via cPanel

Connectez-vous sur votre panel, puis dans « Advanced » > « Cron jobs » cliquez sur « Add new Cron Job »

Attention à ne pas définir une intervalle trop courte, cela pourrait ralentir le site (encore une fois, tout dépend de ce que fait votre cron).

Voici la commande à faire executer au cron :

1
wget -q -O - http://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Attendez maintenant que l’intervalle de temps que vous avez définie soit passée, puis vérifier que votre tâche s’est bien exécutée.

 Ajout en SSH

En SSH, pas beaucoup plus compliqué, suivez d’abord les instructions de ce post pour comprendre comment fonctionne une crontab.

Si vous êtes déjà au fait de ces choses, il vous suffit simplement de configurer la commande suivante pour qu’elle se lance quand vous le désirez :

1
wget -q -O - http://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Et voilà, maintenant vous avez un système qui fonctionne parfaitement, et qui ne pénalisera pas vos internautes !

22. novembre 2013 par azriel
Catégories: Code snippets, Wordpress | Tags: , , , , , | Laisser un commentaire

Styler une ligne sur deux dans un <table>

Zebra table

Colorer une ligne sur deux dans un

:

 CSS | 
 
 Copier le code |
?

1
tbody tr:nth-child(odd) { background-color: #ccc; }

22. octobre 2013 par azriel
Catégories: CSS | Tags: , , | Laisser un commentaire

CSS Hack par navigateur

Browsers CSS

 CSS | 
 
 Copier le code |
?

01
/***** Selector Hacks ******/
02
 
03
/* IE6 and below */
04
* html #uno { color: red }
05
 
06
/* IE7 */
07
*:first-child+html #dos { color: red }
08
 
09
/* IE7, FF, Saf, Opera */
10
html>body #tres { color: red }
11
 
12
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
13
html>/**/body #cuatro { color: red }
14
 
15
/* Opera 9.27 and below, safari 2 */
16
html:first-child #cinco { color: red }
17
 
18
/* Safari 2-3 */
19
html[xmlns*=""] body:last-child #seis { color: red }
20
 
21
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
22
body:nth-of-type(1) #siete { color: red }
23
 
24
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
25
body:first-of-type #ocho { color: red }
26
 
27
/* saf3+, chrome1+ */
28
@media screen and (-webkit-min-device-pixel-ratio:0) {
29
#diez { color: red }
30
}
31
 
32
/* iPhone / mobile webkit */
33
@media screen and (max-device-width: 480px) {
34
#veintiseis { color: red }
35
}
36
 
37
/* Safari 2 - 3.1 */
38
html[xmlns*=""]:root #trece { color: red }
39
 
40
/* Safari 2 - 3.1, Opera 9.25 */
41
*|html[xmlns*=""] #catorce { color: red }
42
 
43
/* Everything but IE6-8 */
44
:root *> #quince { color: red }
45
 
46
/* IE7 */
47
*+html #dieciocho { color: red }
48
 
49
/* Firefox only. 1+ */
50
#veinticuatro, x:-moz-any-link { color: red }
51
 
52
/* Firefox 3.0+ */
53
#veinticinco, x:-moz-any-link, x:default { color: red }
54
 
55
/***** Attribute Hacks ******/
56
 
57
/* IE6 */
58
#once { _color: blue }
59
 
60
/* IE6, IE7 */
61
#doce { *color: blue; /* or #color: blue */ }
62
 
63
/* Everything but IE6 */
64
#diecisiete { color/**/: blue }
65
 
66
/* IE6, IE7, IE8 */
67
#diecinueve { color: blue\9; }
68
 
69
/* IE7, IE8 */
70
#veinte { color/*\**/: blue\9; }
71
 
72
/* IE6, IE7 -- acts as an !important */
73
#veintesiete { color: blue !ie; } /* string after ! can be anything */

Source : http://browserhacks.com/

22. octobre 2013 par azriel
Catégories: CSS | Tags: , , , | Laisser un commentaire

Création d’un post à la volée

wordpress-logo

Il pourra parfois s’avérer utile de savoir créer des posts à la volée. Par exemple, j’ai dû mettre en place sur un projet un système de synchronisation d’une base de fiche produit via un web-service.

Ce dernier devait aller récupérer la liste des produits grâce au web-service, puis créer chacun des posts correspondants aux produits importés.

Voici le petit bout de code permettant la création du post :

 PHP | 
 
 Copier le code |
?

01
// On construit notre produit
02
$new_product = array(
03
'post_status' => 'publish',
04
'post_type' => 'produit', # Ici, le type de post est un custom post type
05
'post_author' => 1, # L'admin sera l'auteur
06
'post_name' => 'slug-du-post',
07
'post_title' => 'Titre du post',
08
'post_content' => 'Contenu du post',
09
);
10
// Création du post produit
11
$new_postId = wp_insert_post($new_product);

22. octobre 2013 par azriel
Catégories: Code snippets, Wordpress | Tags: , , , | Laisser un commentaire

Aide mémoire sur les crontab

Cron linux

Voici juste un petit aide mémoire concernant la mise en place d’une crontab sous linux.

Les commandes de base

Lister les cron en place

1
crontab -l
2
00 * * * * /scripts/path/myScript.sh

Editer les cron

1
crontab -e

Chaque ligne de ce fichier représente une tâche planifiée. La périodicité de l’exécution se note comme cela :
1
mm hh jj MMM JJJ tâche > log

soit :

  • mm : minutes (0 – 59)
  • hh : heure (0 – 23)
  • jj : jour du mois (1 – 31)
  • MMM : numéro du mois (1 à 12) ou abréviation du mois (jan,feb,mar,apr, etc…)
  • JJJ : abréviation du nom du jour ou numéro du jour dans la semaine (0 pour Dimanche, 1 pour lundi, etc…)

A noter que pour chaque valeur numérique, on peut écrire de ces façons :

  • * : à chaque unité (toutes les minutes, toutes les heures, etc…)
  • 5,8 : les unités 5 et 8
  • 2-5 : les unités de 2 à 5
  • */3 : toutes les 3 unités
  • 10-20/3 : toutes les 3 unités entre la dixième et la vingtième

22. octobre 2013 par azriel
Catégories: GNU/Linux | Tags: , , , | Laisser un commentaire

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés à vos centres d'intérêts.
En savoir plus. Fermer