• Blog
  • Portfolio
  • A propos de moi
  • Créations Websites
  • Blog
  • Portfolio
  • A propos de moi
  • Créations Websites
Catégorie :

Informatique

Parcourir:
  • Accueil
  • Informatique

Compteur de vues sur post (articles et pages) pour thème et plugin WordPress (script PHP) avec cookie session

Par WolwX dans la catégorie Développement, Informatique, Webmastering, Wordpress
Mots clef : compteur, php, script, view, views, vue, vues, wordpress

Voilà donc un petit mémo pour une solution basique : Ajouter un compteur de vue sur mes pages ou articles WordPress

En effet, dans le cadre du développement de theme perso WordPress, je suis arrivé à ce besoin de pouvoir afficher le nombre de “views” faites sur un article.

J’ai alors trouvé assez facilement des articles redirigeant en coeur sur un script permettant de faire ceci.
Tous les articles ou sites que je trouvais renvoyés sur ce script et ces variantes :

  • https://gretathemes.com/count-post-views/
  • https://www.themexpert.com/blog/track-display-post-views-in-wordpress
  • https://goodlywp.com/how-to-display-post-views-on-your-wordpress-posts/

J’ai donc longtemps essayé d’utiliser la base de ce script, mais avec à la clef, un gros bug dans le comptage des vues, une incrémentation par 2 au lieu de 1 à chaque rafraîchissement de la page …

Je me suis alors rendu compte que j’étais loin d’être un cas isolé dans ce bug, et qu’une piste montrée du doigt le moteur de Chrome qui pouvait boucler des requêtes envoyant une fausse impression de double visite sur la page.
Dans certains cas, on invitait à voir du coté de la favicon mal réglée (absence de l’url renseignée par exemple) en head, ou encore des scripts, ou même autres tags avec cible manquantes ou foireuses.

Dans mon cas rien à faire, malgré toutes ces vérifications le problème persistait, et pour m’assurer que cela venait de Chrome, rien de complexe, tester avec Internet Explorer et bingo …

Du coup j’ai cherché plusieurs manière de corriger le script, ou l’améliorer, jusqu’à me tourner vers l’utilisation d’un Cookie de session tout simplement.

J’ai donc incorporé l’utilisation de ce Cookie, qui permet de limiter le comptage en fonction de la présence de ce celui ci.

Si le cookie existe, alors pas de comptage, dans le cas contraire, comptage et donc forcément, même si le script PHP est bouclé en double par le moteur de Chrome, vue la création du Cookie à la première boucle, la seconde incrémentation ne ce fait pas !
Tests ok, résultat probant, parfait pour mon besoin 🙂

Voici le script, rajouté dans mon functions.php, avec commentaires aidant à compréhension :

/* Function compteur de vue -- DEBUT */
// Récupérer le nombre de vue du post
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
// Si le post n'à aucune vue existante dans la table post_meta alors la créer avec la valeur de 0 vue
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0";
}
return $count;
}

// Régler le nombre de vue du post
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
// Vérification de l'existence d'un cookie ayant pour information l'ID du post, si il existe, ne rien faire, dans le cas contraire créer le cookie et rajouter 1 vue
if(isset($_COOKIE['postviews']) && $_COOKIE['postviews'] == $postID) {
} else {
// Création du cookie, en expiration à 60 secondes
setcookie('postviews', $postID, time()+60);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
}

// Remove issues with prefetching adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

// Add to a column in WP-Admin
// Rajout des colonnes de vue sur la page admin des articles
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
$defaults['post_views'] = __('Views');
return $defaults;
}
function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
echo getPostViews(get_the_ID());
}
}

/* Function compteur de vue -- FIN */

Bien entendu, il convient ensuite de rajouter la fonction sur la page article ou post permettant de lancer le script, par exemple sur le fichier single.php (je n’ai rajouté que la ligne seetPostViews) =>

<?php
while ( have_posts() ) :
// update du nombre de vue
setPostViews(get_the_ID());
the_post();

Puis de renseigner le code dans la partie template prévue pour afficher les views, par exemple sur la page \template-parts\content.php =>

<i class="fas fa-eye"></i><?php echo getPostViews(get_the_ID()); if (getPostViews(get_the_ID()) > '1') { ?> <?php esc_html_e( 'vues', 'nomdevotretheme' ); } else { ?> <?php esc_html_e( 'vue', 'nomdevotretheme' ); };?>

Voilà, je n’ai rien fait d’exceptionnel, mais le fonctionnement final est exactement comme je le souhaitai, et ce petit article me servira de mémo au cas ou, alors si il profite à d’autres, tant mieux 😉

Zimbra ZCS – Installer un certificat SSL gratuit Letsencrypt sur la webmail

Par WolwX dans la catégorie Administration Système, Informatique, Sécurité
Mots clef : HTTPS, letsencrypt, mx, secure, server, serveur, serveur mail, SSL, webmail, zcs, zimbra

Procédure pour installation d’un certificat SSL gratuit, avec LetsEncrypt, sur la webmail Zimbra.

logo-letsencrypt

Documentation officielle :

https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate

Et dans la suite ma routine personnelle 🙂

Mehr lesen»

Zimbra ZCS – Bloquer les envois d’email depuis des adresses non existante (non légitime)

Par WolwX dans la catégorie Administration Système, Informatique
Mots clef : mta, mx, postfix, server, serveur, serveur mail, spam, zcs, zimbra

Configuration Zimbra pour empêcher les emails de type spam exploitant le relais apache / postfix, pour envoyer des emails alors que la boite en question n’existe pas.

Voir référence “Rejection false mail from addresses” sur https://wiki.zimbra.com/wiki/Rejecting_false_%22mail_from%22_addresses

Dans la suite ma routine personnelle 🙂

Mehr lesen»

Zimbra ZCS – personnalisation de la webmail

Par WolwX dans la catégorie Administration Système, Informatique
Mots clef : css, email, mail, mx, personnalisation, server, serveur, serveur mail, webmail, zcs, zimbra

Voici un petit mémo pour m’aider à reproduire les modifs de personnalisation sur ma webmail Zimbra.

Documentation utile officielle :

https://wiki.zimbra.com/index.php?title=Customizing_Themes_and_Adding_Zimbra_Powered_Logo_-_Open_Source_Edition
https://files.zimbra.com/docs/skins/Themes.html

Mehr lesen»

Zimbra ZCS bug – problème d’accès à la file d’attente (administration)

Par WolwX dans la catégorie Administration Système, Informatique
Mots clef : bug, certificat, clef, email, erreur, file d'attente, mail, mx, server, serveur, serveur mail, ssh, zcs, zimbra

Petit article mémo pour un bug / problème bien chiant à régler, à savoir celui apparaissant dans l’administration du serveur sur la partie “file d’attente”

Menu latéral => Moniteur => Files d’attente

Le message d’erreur :

Mail : system failure: exception during auth {RemoteManager: zimbra.monnomdedomaine.fr->zimbra@zimbra.monnomdedomaine.fr:22} Code d’erreur : service.FAILURE Method: [unknown] Détails :soap:Receiver

Traduction de ce message, l’administration utilise un protocol d’accès aux stats / information en ce connectant en ssh sur l’utilisateur “zimbra”
La connexion échoue, généralement soit par un soucis de réglage, soit par un problème d’autorisation, soit un soucis de droits de fichier ou encore un soucis d’OS.

Cette page du wiki officiel permet de déboguer =>
https://wiki.zimbra.com/wiki/Mail_Queue_Monitoring

Mehr lesen»

SSH : Script de backup RSYNC automatisé en CRON

Par WolwX dans la catégorie Administration Système, Informatique
Mots clef : backup, backups, bash, cron, debian, linux, log, mail, programmation, rsync, sauvegarde, sauvegardes, scp, script, serveur, serveur dédié, serveur local, sh, ssh, ubuntu

Voilà donc, j’ai voulu dépoussiéré un petit script utile que je me suis fait il y à quelques années et qui à pour but de faire un backup entre 2 serveurs dédiés sous Linux. Du coup je l’ai un peu modifié pour l’utilisation de différentes variables. Mehr lesen»

Création d’une application Android / Webapp : Utiliser Phonegap Cordova avec Android Studio

Par WolwX dans la catégorie Développement, Informatique
Mots clef : android, android studio, apache, APK, application, AVD, coding, compilation, cordova, css, développeur, émulateur, google, gradle, html, IOS, JAVA, javascript, jdk, node.js, phonegap, play store, smartphone, store, web-app, webapp

Développeur, ou plutôt créateur dans l’âme, j’ai bien tenté de créer une application Android par le passé, mais j’étais confronté à un problème classique, le standard de programmation qui est en JAVA pur, et ce n’est clairement pas un langage que je maîtrise …

J’ai tout de même tenté en installation Eclipse, l’outil de développement JAVA, et j’ai fait quelques pas avec, jusqu’à réussir en partie mon application, mais c’était très laborieux, et ma marge de manœuvre pour améliorer cette application était très restreinte …

J’ai donc laissé ce projet de coté quelques temps, avant de retomber dans l’envie de refaire cette application, et surtout en trouvant le moyen de coder l’ensemble dans des langages que je maîtrise bien plus, à savoir le HTML, le CSS, et le Javascript !

Et oui, pendant longtemps j’ai compris qu’il était impossible de créer une application Android, ou IOS, sans passer par des languages natifs, ou simplement du JAVA pur … les recherches google ne me donnait que peu de possibilité … jusqu’au jour où j’ai compris que l’on peut tout à fait le faire avec des langages web 😀

Le concept est alors un peu différent, et pas aussi optimisé que le JAVA lui même, mais il suffit largement pour bien des cas d’applications !
Il s’agit en fait de développer une “Webapp”, une application nativement pensée pour le web, mais qui sera encapsulé dans une “Webview” JAVA.

Enfin pour faire simple c’est comme si on développé un site web orienté mobile (en particulier pour les interactions et les formats d’écrans) mais que ce site web final est encapsulé dans une application JAVA ultra-basique, tout ceci grâce au projet OpenSource Phonegap Cordova !

Voilà maintenant que la possibilité est ouverte, voyons comment débuter dans la mise en place des outils nécessaire à la création d’une première application !

Mehr lesen»

Serveur dédié Windows 2012 – FirstHeberg nouveau test 3 ans après – Life is Feudal

Par WolwX dans la catégorie Administration Système, Hébergeurs, Informatique
Mots clef : avis, datacenter, dédié, entreprise, FirstHeberg, FirstHeberg.com, Free, FreeHeberg, hébergeur, Hetzner, Licence, Life Is Feudal, mutualisé, online.net, ovh, régie publicitaire, salle d'hébergement, serveur, soyoustart, techcrea.fr, trial windows server, Valenciennes, vps, Windows Server

Bien bien bien …

Me revoilà face à un prestataire que je n’avais plus sollicité depuis des années !

Me revoilà dans les starting blocks pour tester les prestations de FirstHeberg 3 ans après

En effet, au plus fort de mon activité d’hébergeur de serveurs de jeux, sous le nom commercial de n1-servers.fr, j’avais fait appels à leur service, et j’avais publié un petit article qui encore en bonne position des recherches google pour ce faire un avis à leur sujet.

-> Retour d’expérience sur mon premier test de FirstHeberg.com

Dans le but de l’installation d’un nouveau serveur de jeux, sous Life is Feudal, pour une utilisation perso, j’ai un besoin d’un serveur dédié sous Windows ….
Oui le genre à être blasant, car clairement, pour des utilisations tel que serveur de jeux, un serveur Windows c’est pas le top coté optimisation, d’autant plus que j’ai déjà en ma possession d’autres serveurs dispo, mais sous Linux …

Mehr lesen»

Basculer son site web en HTTPS sans exception de sécurité (certificat SSL valide et gratuit – letsencrypt)

Par WolwX dans la catégorie Administration Système, Informatique, Sécurité, Webmastering
Mots clef : certificat SSL, exception de sécurité, HTTPS, navigateur, sécurité, SSL

Bien, je me suis décidé à basculer mes sites internet en HTTPS et la route fut longueeeeeeeeeeeeee !
En effet, la configuration, du certificat en particulier, n’à pas était évidente 😡

Car pour avoir un site web fonctionnel sans exception de sécurité, gros message faisant bien peur au visiteur d’un site, cela passe par l’obtention d’un certificat SSL.

Le gros soucis avec le certificat SSL, c’est que c’est un service payant, assez onéreux …
Pour autant, on à de la chance, car grâce à un projet opensource, il est dorénavant possible de faire la certification gratuitement, rien que ça ! 😀

Alors bon, cool, c’est gratuit, mais pour autant ce n’est pas super simple, et il faut renouveler le certificat très régulièrement, et savoir bidouiller un minimum sur son serveur dédié.

Attention, la gratuité concerne des certificats de classe 1, fonctionnel de manière basique (non wilcard), suffisant dans la grande majorité des cas.

Donc si vous aussi vous avez envie de franchir le pas et que vous êtes prêt à vous lancer dans cette petite aventure, suivez le guide !
Mehr lesen»

10 paliers .css pour conception site web webresponsive

Par WolwX dans la catégorie Informatique, Webmastering
Mots clef : cms, css, internet, pc, Prestashop, résolution, responsive, smartphone, tablet, tablette, visite, webmaster, wordpress

Voilà donc un article utile dans la conception de site webresponsive, et qui me sert aussi de pense bête, pour la conception de mes prochains sites.

webresponsive

Le coté “webresponsive” est très important sur les sites internet actuels d’autant plus quand on sait que sur les 55.4 millions d’utilisateurs internet en France (pour une population totale de 66.1 millions), 1 visite internet sur 3 ce fait depuis un smartphone et 1 visite internet sur 10 depuis une tablette.

Pour ma part, je conçois 90% des sites web en webresponsive, et je vous propose de partager un petit fichier que j’ai compilé et que j’utilise régulièrement dans ce but.

A savoir que ce fichier est le résultat de mon expérience, il n’est donc pas parfait, mais je l’ai conçu sur la base de 10 paliers (du très vieux smartphone, au pc / écran très haute résolution, en passant par les tablettes entre autre), qui jusqu’à présent m’ont donnés satisfaction dans la conception de mes différents site internet, perso et clients.

Il s’agit d’un fichier css, à inclure dans le header d’un site web, ou alors en récupérant son contenu et en le copiant collant dans le css principal du site internet.

/* Responsive adaptation by WolwX.net -- DEBUT */
/* http://www.mydevice.io/devices/ -1- tres vieux smartphones (=>2010) */
@media (min-width: 0px) and (max-width: 319px) {

}

/* http://www.mydevice.io/devices/ -2- vieux smartphones (=>2012) */
@media (min-width: 320px) and (max-width: 320px) {

}

/* http://www.mydevice.io/devices/ -3- vieux smartphones (=>2013) */
@media (min-width: 321px) and (max-width: 360px) {

}

/* http://www.mydevice.io/devices/ -4- common smartphones (>=2014) */
@media (min-width: 361px) and (max-width: 479px) {

}

/* http://www.mydevice.io/devices/ -5- common phablets et tablets */
@media (min-width: 480px) and (max-width: 767px) {

}

/* http://www.mydevice.io/devices/ -6- tablets et vieux PC */
@media only screen 
and (min-width : 768px) and (max-width: 1023px){

}

/* http://www.mydevice.io/devices/ -7- tablets et vieux PC */
@media only screen 
and (min-width : 1024px) and (max-width: 1279px){

}

/* http://www.mydevice.io/devices/ -8- vieux PC */
@media only screen 
and (min-width : 1280px) and (max-width: 1599px){

}

/* http://www.mydevice.io/devices/ -9- PC actuels */
@media only screen 
and (min-width : 1600px) and (max-width: 1679px) {

}

/* http://www.mydevice.io/devices/ -10- pc high tech et plus */
@media only screen 
and (min-width : 1680px) {

}

/* Responsive adaptation by WolwX.net -- FIN */

Petit point important pour l’utilisation de ce fichier CSS, il vous suffit bien entendu de simplement rajouter votre code CSS classique dans l’intervalle de chaque palier, mais surtout, si vous ne souhaitez pas modifier le contenu de vos CSS WordPress / Prestashop ou autre thème CMS, tout en forçant le votre comme prioritaire, il vous faudra inclure “!important” en fin de ligne.

Exemple :

/* http://www.mydevice.io/devices/ -4- common smartphones (>=2014) */
@media (min-width: 361px) and (max-width: 479px) {
#header.logo {
max-width:"350px"!important;
}
}

N’hésitez pas à me faire un retour si vous constatez des paliers bizarres ou non fonctionnels, ou encore si vous avez des suggestions 🙂

  • 1
  • 2
  • 3
  • Weiter »

Rechercher

Mots Clés

6 pouces administration système android Android 4.4.4 APK application astuce bash Blizzard bug counter strike source css debian DPI dédié facebook fps gamer geek Huawei Ascend Mate 7 jeux vidéo linux mail maj mumble mutualisé mx obb ovh script server serveur serveur dédié serveur mail smartphone spam ssh sécurité tablette téléchargement virus WolwX.net wordpress zcs zimbra

Derniers commentaires

  • Zimbra ZCS – Installer un certificat SSL gratuit Letsencrypt sur la webmail | WolwX.net dans Zimbra ZCS – personnalisation de la webmail
  • WolwX dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • Ridha dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • WolwX dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • ALcapone dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • Messoum dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • Antoine dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • Nestor dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • Ronin dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
  • WolwX dans Hack Playstation 4 on peut vraiment jouer à des jeux “crackés” ?
Linkedin Facebook Instagram
Twitter Youtube
Contact Mail
Plan du site (Sitemap) :
  • Blog Articles
  • Cookies
  • Portfolio Portfolio
  • Créations Websites Créations Websites
  • Mentions légales
  • A propos de moi A propos de moi
  • Me contacter
  • Politique de confidentialité

WolwX :: © 2009 - 2025 Tous droits réservés. +
Propulsé par Wordpress :: Designed (OneTouch v2 custom) :: Hosted, Configured & Powered by n1-Web.fr
Optimisé en HD pour une résolution égale ou supérieur à 1280x1024 pixels
Compatible Smartphones et Tablets, Responsive Webresponsive 10 paliers.
Navigateurs recommandés Google Chrome Firefox

Avertissement : Toute reproduction, représentation, traduction, adaptation, ou citation qu'elle soit intégrale ou partielle, quelqu'en soit le procédé, est strictement interdite sans autorisation, sauf cas prévus par l'article L.112-5 du code de la propriété intellectuelle.
Les marques citées sont la propriété de leurs détenteurs respectif.

 

Chargement des commentaires…