Comment créer une page de lancement virale avec WordPress

Les pages de lancement virales apparaissent partout et pour une bonne raison. Ils constituent un moyen élégant et efficace de transformer ce que pourrait être le temps le moins rentable pour une entreprise (pas de site Web ou de produit prêt pour le moment) en une opportunité de marketing plus efficace. Peu d’explications sont nécessaires pour créer beaucoup de buzz, surtout quand il ya un incitatif. Tirez parti du pouvoir du mystère! En outre, les gens aiment les trucs gratuits.


introduction

Dans ce tutoriel, je vais vous montrer comment coder une page de lancement viral rapide à l'aide de WordPress. Le tutoriel est basé sur le code utilisé pour un thème que nous avons développé le mois dernier pour WordPress et appelé Launch Effect. Vous pouvez voir ce thème en action ici: Démonstration de lancement d'effet.

Le thème Effet de lancement permet au propriétaire du site de personnaliser une page de renvoi présentant son entreprise, son produit ou son événement, et invite les visiteurs à s'inscrire avec leur courrier électronique pour gagner un bonus (invitations bêta, cartes-cadeaux, réductions, etc.). Lors de la soumission, la page génère un lien de parrainage unique que le propriétaire du site peut utiliser pour suivre ses référents les plus actifs afin de savoir qui récompenser. Les données d'inscription, de visite et de conversion sont toutes stockées dans la base de données du propriétaire du site et exportées vers une page de statistiques privée..

En utilisant une version "allégée" du thème "Launch Effect", ce didacticiel vous montrera comment réaliser la même capture de courrier électronique et les mêmes fonctionnalités de génération d'URL, ainsi que configurer la page de statistiques dans l'administrateur WordPress..

En termes de compétences, il s’agit plus d’un tutoriel PHP pour débutants qui vous permet de parler avec une base de données et de faire ce que vous voulez avec les données. Nous utiliserons les fonctions propriétaires dont vous aurez besoin pour que tout fonctionne dans WordPress, en particulier, bien que ces connaissances de base soient sûrement transférables à des contextes autres que WordPress. J'espère que le didacticiel constituera un projet utile pour les débutants pour les codeurs front-end qui souhaitent renforcer leurs connaissances en développement au-delà de HTML / CSS..


Fichiers source

Les fichiers sources du didacticiel sont en réalité un thème WordPress autonome. À installer:

  1. Mettre à niveau une nouvelle installation de WordPress vers la dernière version.
  2. Téléchargez et activez le thème.
  3. Allez dans Paramètres> Permaliens et sélectionnez la troisième option.

Le thème devrait ressembler aux photos et fonctionner dès la sortie de la boîte. Les données statistiques sont disponibles via le menu Lancer statistiques dans l’administrateur WordPress..

Bien que cela ne soit pas nécessaire pour ce didacticiel, il est toujours judicieux d’avoir un accès quelconque à votre base de données afin que vous puissiez vous familiariser avec celle-ci et avoir plus de pouvoir pour résoudre les problèmes futurs..


Vous apprendrez comment

  • Créez une table pour vos données dans la même base de données que celle qui contient votre installation WordPress
  • Valider et soumettre un formulaire sur une page WordPress avec une action Ajax fluide
  • Enregistrez les visites et les conversions à l'aide d'un lien de parrainage unique généré par votre site.
  • Exporter les données de formulaire sur une page pour les afficher

Étape 1 La table

Fichiers référencés:

  • functions.php
  • functions / le-tables.php

Dans le dossier du thème du didacticiel, vous remarquerez que le fichier functions.php "nécessite" trois fichiers supplémentaires situés dans le dossier functions. L'un d'eux, "le-tables.php", s'occupe de la création réelle de la nouvelle table dans votre base de données. Si vous avez déjà activé le thème du didacticiel, votre nouvelle table a déjà été créée dans la base de données. En effet, la création de la table est déclenchée simplement lorsque vous consultez une page de votre site WordPress (visiter une page WordPress appelle functions.php qui appelle le-tables.php).

 // CREATE TABLES require_once (TEMPLATEPATH. '/Functions/le-tables.php'); // QUERY FUNCTIONS require_once (TEMPLATEPATH. '/Functions/le-functions.php'); // PAGE STATS require_once (TEMPLATEPATH. '/Functions/le-stats.php');

Ci-dessous, je passe en revue et explique les différentes parties du code le-tables.php qui crée la table de base de données. Vous pouvez créer un nombre quelconque de tables supplémentaires via cette méthode. Je vous encourage vivement à consulter cette entrée du codex WordPress pour en savoir plus: Codex WordPress: créer des tableaux avec des plugins

functions / le-tables.php

Connectez-vous à la base de données avec la variable globale WordPress $ wpdb. Cela instancie une classe déjà configurée par WordPress pour communiquer avec la base de données WordPress. Toujours connecter de cette façon lorsque vous travaillez à partir de WordPress.

 // CREATE TABLES $ wordpressapi_db_version = "1.0"; $ wpdb global; global $ wordpressapi_db_version;

Notre table va s'appeler "wp_launcheffect" et sera référée par le $ stats_table variable dans le thème.

 $ stats_table = $ wpdb-> préfixe. "launcheffect";

Vérifiez que la table n'existe pas déjà avant de la créer.

 if ($ wpdb-> get_var ("affiche des tables comme '$ stats_table'")! = $ stats_table) 

Ce $ sql variable spécifie la structure de la table. Nous créons les colonnes suivantes: id, heure, email, code, reference_by, visites, conversions et ip.

 $ sql = "CREATE TABLE". $ stats_table. "(id mediumint (9) NON NULL AUTO_INCREMENT, heure VARCHAR (19) DEFAULT '0' NON NULL, email VARCHAR (55), code VARCHAR (6), référencé par VARCHAR (6), visites int (10), conversions int ( 10), ip VARCHAR (20), UNIQUE KEY id (id)); ";

Vous allez réellement utiliser ce WordPress dbDelta fonction pour exécuter la requête SQL. Cette fonction n’est pas couverte dans ce didacticiel, mais elle est essentiellement chargée de s’assurer que les mises à jour se passent bien si vous avez construit un plugin, par exemple. Idéalement, il est supposé comparer la structure actuelle de la table avec celle mise à jour et ajouter ou modifier au besoin.

 require_once (ABSPATH. 'wp-admin / includes / upgrade.php'); dbDelta ($ sql);

Pourquoi ne pas créer quelques variables pour soumettre les données de test à la nouvelle table?

 $ test_email = "Email OK"; $ test_code = "OK"; $ test_referred_by = "OK"; $ test_visits = 0; $ test_conversions = 0;

Lors de la création de la table, insérez les données de test dans la table. Exécuter les variables à travers le $ wpdb-> escape fonction peut aider à prévenir les problèmes de sécurité (mais évidemment, les données de test ne représentent aucune menace).

 // INSERT TEST VALUES $ insert = "INSERT INTO". $ stats_table. "(heure, email, code, référé, visites, conversions, ip)". "VALUES ('". Date (' Ymd H: i: s '). "'," ". $ Wpdb-> escape ($ test_email)." ', "". $ Wpdb-> escape ($ test_code). "','". $ wpdb-> escape ($ test_referred_by). "','". $ wpdb-> escape ($ test_visits). "','". $ wpdb-> escape ($ test_conversions). "' , '". $ _SERVER [' REMOTE_ADDR ']."') ";

Encore une fois, nous utilisons WordPress $ wpdb classe pour effectuer la manipulation de base de données réelle. $ wpdb-> requête est la plus large de toutes les fonctions de manipulation de base de données WordPress intégrées. Il vous permet d'exécuter toute requête SQL sur la base de données WordPress, à la fois sur des tables créées par WordPress ou sur des tables telles que celle que vous venez de créer. Cependant, il en existe d’autres à des fins plus spécifiques, telles que $ wpdb-> get_results, que nous utiliserons pour extraire les résultats de la base de données sous forme de tableau de lignes.

 $ results = $ wpdb-> query ($ insert);

Étape 2 Le formulaire

Fichiers référencés:

  • header.php
  • index.php
  • post.php
  • js / init.js
  • functions / le-functions.php

Notre formulaire ne comporte qu'une seule saisie utilisateur: l'inscription à une adresse électronique. Lors de la soumission, le formulaire est masqué et un conteneur est révélé avec un message de réussite et le lien de référence unique généré par le thème. Le lien de parrainage unique consiste simplement en 5 caractères aléatoires attachés à la fin de l'URL de base de votre site..

La fonctionnalité de ce formulaire correspond exactement à ce que nous utilisons pour alimenter notre thème Launch Effect. Plongeons dans les fichiers!

header.php

Dans ce fichier, veuillez simplement noter la ligne très importante ci-dessous qui empêche la page de générer un code d’état 404 (visible dans Firebug) lorsque quelqu'un accède via un lien de parrainage unique..

 en-tête ('HTTP / 1.1 200 OK');

index.php

Ceci est la page d'accueil de votre site - tout ce que le visiteur voit et interagit est contenu dans cette page. Ce fichier contient un formulaire simple avec un conteneur de succès masqué et une erreur div pour contenir tous les messages d'erreur. La balise de formulaire doit avoir un identifiant, mais l'action doit rester vide. jQuery prend en charge la partie soumission et identifie le formulaire via son identifiant.

Créez une session afin que nous puissions stocker des informations à l'intérieur de variables de session sur plusieurs pages. Dans ce cas, nous stockons le code "référé par". Cela signifie que si le visiteur arrive sur votre site via un lien de parrainage (un lien avec le code unique à la fin), ces informations seront capturées et transmises à la base de données..

 session_start (); get_header ();

Si un visiteur a été référé par quelqu'un et est arrivé à la page via un lien de parrainage unique, les 5 derniers caractères de l'URL (le code) sont stockés dans cette variable de session. (Veuillez vous référer à la section le-functions.php pour plus d'explications.)

 $ _SESSION ['referBy'] = $ referindex;

Si un visiteur a été référé par quelqu'un, cette fonction enregistre comme une visite à chaque fois que quelqu'un visite la page via ce lien de parrainage unique. (Veuillez vous référer à la section le-functions.php pour plus d'explications.)

 logVisits ($ stats_table, $ referindex);

Nous allons stocker l'URL de base dans cette plage afin que notre fonction Ajax puisse le récupérer et l'utiliser pour créer un lien de renvoi unique et approprié. Cela évite de coder en dur l'URL dans le javascript..

  

Formulaire de pré-inscription Ce conteneur disparaît après que le visiteur a envoyé son adresse électronique. L'entrée cachée stocke le code unique et aléatoire de 5 caractères qui sera désormais associé au courrier électronique de ce visiteur. Si l'email est invalide, ce message apparaîtra dans la division d'erreur.

  

Post-inscription S'il s'agit d'une nouvelle inscription, ce conteneur apparaît après que le visiteur a envoyé son adresse électronique. Le code unique et aléatoire de 5 caractères sera associé à l'URL de base que nous avons stockée dans span.dirname et sera affiché dans l'entrée du code de réussite en tant que lien de renvoi unique..

  

Visiteur de retour S'il s'agit d'un visiteur de retour, ce conteneur apparaît après que le visiteur a soumis son adresse électronique. Cela contient des plages vides où le javascript peut coller des données spécifiques extraites de la base de données sur le visiteur de retour.

  

Bonjour!

Nous saluons le retour .
cliqué sur votre lien jusqu'à présent et signé.

post.php

Ce fichier fonctionne en tandem avec le javascript dans js / init.js pour publier les données du formulaire. Nous remercions ce tutoriel extrêmement utile pour les fonctionnalités que nous avons modifiées pour nos besoins: Jensbits.com: jQuery Ajax et jQuery Post Form Envoyer des exemples avec PHP.

Comme ce fichier n’est ni une publication ni une page, WordPress ne sait pas vraiment qu’il existe. Par conséquent, nous devons le remettre dans la boucle juste assez pour parler à la base de données WordPress en incluant les fichiers suivants:

 // INCLURE WORDPRESS STUFF include_once ('? /? /? /Wp-load.php'); include_once ('? /? /? /wp-includes/wp-db.php');

Reprise de la session en cours dans laquelle nous stockons notre code "référé par"?

 session_start ();

Variable pour notre code "référé par"

 $ referpost = $ _SESSION ['referBy'];

Configurez les variables que nous utiliserons pour stocker les données de notre formulaire.

 // FORMULAIRE DE POST AVEC AJAX $ email_check = "; // si l'email est valide $ reuser ="; // si visiteur est un visiteur de retour $ clicks = "; // si visiteur de retour, nombre de visites via son lien $ conversions ="; // si visiteur de retour, nombre de personnes qui se sont inscrites via son lien $ return_arr = array (); // ce tableau stockera nos données de formulaire et les informations supplémentaires ci-dessus. nous l'utilisons plus tard en bas de la page.

Vérifiez si un email a été envoyé, et ensuite si cet email réussit le validateur de mails intégré de PHP.

 if (isset ($ _ POST ['email'])) if (filter_var ($ _ POST ['email'], FILTER_VALIDATE_EMAIL)) 

Si cela passe, réglez le $ email_check variable à valider. Nous aurons besoin que cette variable soit validée pour que notre javascript sache qu'elle peut soumettre le formulaire..

 $ email_check = 'valide';

Vérifiez si le visiteur est un utilisateur déjà inscrit (veuillez vous référer à la section le-functions.php pour plus d'explications.)

 $ count = countCheck ($ stats_table, 'email', $ _POST ['email']);

Si le visiteur est un visiteur de retour, marquez $ réutilisateur variable comme vrai et saisir des statistiques pour ce visiteur de la base de données en utilisant getDetail une fonction. (Veuillez vous référer à la section le-functions.php pour plus d'explications.)

 if ($ count> 0) $ reuser = 'true'; $ stats = getDetail ($ stats_table, 'email', $ _POST ['email']); foreach ($ stats as $ stat) $ clics = $ stat-> visites; $ conversions = $ stat-> conversions; $ returncode = $ stat-> code; 

Si le visiteur est une nouvelle inscription, marquez $ réutilisateur false et insérez les données de formulaire dans la base de données à l'aide de la touche postData une fonction. (Veuillez vous référer à la section le-functions.php pour plus d'explications.)

  else $ reuser = 'false'; postData ($ stats_table, $ referpost); 

Stockez les données email_check, chaque donnée de formulaire et nos données de visiteur de retour (le cas échéant) sous forme de tableau dans une chaîne au format JSON.

 $ return_arr ["email_check"] = $ email_check; $ return_arr ["reuser"] = $ reuser; $ return_arr ["clicks"] = $ clicks; $ return_arr ["conversions"] = $ conversions; $ return_arr ["returncode"] = $ returncode; $ return_arr ["email"] = $ _POST ['email']; $ return_arr ["code"] = $ _POST ['code'];

Écho de la réponse de chaîne JSON pour une utilisation par le fichier javascript. Si vous utilisez FireFox et que Firebug est installé, vous pouvez voir la réponse dans la console si vous développez l'élément POST..

 echo json_encode ($ return_arr);

js / init.js

Nous utilisons ce peu de jQuery pour prendre la soumission de formulaire réelle. Encore une fois, jetez un coup d'œil à cet excellent tutoriel qui a été à la base de cette fonctionnalité: Jensbits.com: jQuery Ajax et jQuery Post Form Envoyer des exemples avec PHP.

Lorsque l'utilisateur appuie sur le bouton d'envoi dans le #forme forme?

 $ ("# formulaire"). submit (fonction (e) 

Encoder toutes les données en #forme en tant que chaîne de requête standard avec la méthode "serialize" de jQuery.

 dataString = $ ("# form"). serialize ();

C'est la fonction qui va nous permettre de poster des données sans rafraîchissement de la page:

 $ .ajax (type: "POST", url: "wp-content / themes / launcheffect / post.php", // Ceci reçoit les données du formulaire: dataString, // Ce sont les données de notre formulaire que nous avons sérialisées. au-dessus de dataType: "json", // Indique à la fonction que nous allons lui envoyer la chaîne au format JSON, avec succès: // Que faire lorsque les données sont publiées avec succès

Si l'adresse email ne valide pas: Insérer un message d'erreur dans le vide #Erreur div. Remarquez comment data.email_check contient nos informations valides / invalides telles que passées de post.php. De la même manière, Code de données, code de retour de données, data.clicks, data.conversions etc? sera accessible pour nous d'ici.

 if (data.email_check == "invalide") $ ('# erreur'). html ('Email invalide.');

Si visiteur de retour: Masquer le formulaire de pré-inscription et afficher le conteneur de visiteurs de retour.

  else if (data.reuser == "true") $ ('# form, #error, # presignup-content'). hide (); $ ('# retournant'). fadeIn ();

Mettez en forme le lien à référence unique en joignant l’URL de base que nous avons stockée dans le fichier index.php au code à 5 caractères (code de retour de données).

 var returnCode = $ ('span.dirname'). text () + '/' + data.returncode;

Collez les informations sur le visiteur de retour que nous avons extraites de la base de données dans les plages suivantes. Ainsi, le visiteur de retour peut voir combien de personnes ont cliqué et se sont inscrites avec leur lien jusqu'à présent..

 $ ('# return span.user'). text (data.email); $ ('# retournant span.clicks'). text (data.clicks); $ ('# retournant span.conversions'). text (conversions de données);

Afficher le lien de parrainage unique sur la page.

 $ ('# entrée de retour # code de retour'). attr ('valeur', code de retour);

Si une nouvelle inscription: Masquer le formulaire de pré-inscription et afficher le conteneur de réussite.

  else $ ('# form, #error, # presignup-content'). hide (); $ ('# success, # success-content'). fadeIn ();

Mettez en forme le lien à référence unique en joignant l’URL de base que nous avons stockée dans le fichier index.php au code à 5 caractères (Code de données).

 var referCode = $ ('span.dirname'). text () + '/' + data.code;

Afficher le lien de parrainage unique sur la page

 $ ('# success input # successcode'). attr ('value', referCode);

functions / le-functions.php

Ce fichier définit toutes les fonctions PHP utilisées dans le thème du didacticiel dans un emplacement centralisé. Je vais expliquer chacun ici.

Générateur de code aléatoire: Nous générons le code aléatoire de 5 caractères avec cette fonction. Assez simple?

 // GET RANDOM function randomString () $ length = 5; $ characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'; $ string = "; for ($ p = 0; $ p < $length; $p++)  $string .= $characters[mt_rand(0, strlen($characters))];  return $string; 

Obtenez le code "Recommandé par": Ceci saisit l’URL actuelle et le met dans le $ url variable. Nous utilisons PHP parse_url fonction pour saisir la partie chemin de l'URL, nous utilisons le sous-sol fonction pour récupérer les 5 derniers caractères de cette partie d'URL. Si les 5 derniers caractères contiennent une barre oblique ou sont vides, il s’agit d’une visite directe (pas de code de parrainage). Si ce n'est pas le cas, le code "référé par" correspond aux 5 derniers caractères.

 // OBTENIR REFERRED_BY CODE $ url = (! Empty ($ _ SERVER ['HTTPS'])))? "https: //". $ _ SERVER ['SERVER_NAME']. $ _ SERVER ['REQUEST_URI']: "http: //". $ _ SERVER ['SERVER_NAME']. $ _ SERVER ['REQUEST_URI']; $ parseurl = parse_url ($ url, PHP_URL_PATH); $ parseurlstr = substr ($ parseurl, -5, 5); if (strstr ($ parseurlstr, '/') OU $ parseurlstr == ") $ référencé = 'direct'; référé index = $ parseurlstr;

Question: Cela se globalise $ wpdb afin que nous puissions avoir accès à toutes les fonctions de base de données WordPress et crée un raccourci facile pour spécifier la requête SQL ($ requête) et type de fonction ($ type). Pour nos formulaires nos $ type sera question, Obtenir des résultats, préparer, ou get_var. Consultez ce document Codex pour en savoir plus sur toutes les fonctions de base de données disponibles dans la classe $ wpdb: WordPress Codex: Référence de la classe WPDB.

 // Fonction QUERY IT wpdbQuery ($ query, $ type) global $ wpdb; $ resultat = $ wpdb -> $ type ($ requête); return $ result; 

Journalisation des visites via un lien de parrainage: Si un visiteur a été référé par quelqu'un, cette fonction enregistre les visites à chaque fois que quelqu'un visite la page via ce lien de parrainage unique. Il incrémente la colonne des visites de 1 chaque fois que la colonne Refer_by est égale à la $ référéPar code saisi à partir de l'URL.

 // LOG VISITES VIA REFERRAL LINK fonction logVisits ($ table, $ referral) $ update = wpdbQuery ("UPDATE $ table SET visites = visites + 1 WHERE code = '$ referral'", "requête"); 

Insérer des données: La première moitié de cette fonction s’occupe de l’insertion d’un nouveau couple adresse / code dans la base de données, avec le temps. Cela définit également les visites et les conversions sur 0. Lorsqu'une personne visite le site via son lien de parrainage unique, ces colonnes sont incrémentées. Si la nouvelle inscription est le résultat du lien de parrainage de quelqu'un, $ update2 s’occupe d’incrémenter de 1 la colonne de conversions pour cette personne (même logique que logVisits uniquement pour les conversions au lieu des visites).

 // POST DATA fonction postData ($ table, $ referral) $ result = wpdbQuery ("INSERT INTO $ table (heure, email, code, référé par, visites, conversions, ip) VALUES ('". Date (' Ymd H: i: s '). "', '$ _ POST [email]', '$ _POST [code]', '$ referral', 0,0, '". $ _SERVER [' REMOTE_ADDR ']. "')", 'question'); $ update2 = wpdbQuery ("UPDATE $ table SET conversions = conversions + 1 WHERE code = '$ referral'", 'query'); 

Compter: Nous utilisons cette fonction de différentes manières: dans post.php pour savoir si le visiteur est un visiteur déjà inscrit, nous vérifions si l'adresse électronique publiée via le formulaire correspond à une adresse électronique quelconque de la table de la base de données (par exemple. $ entrée = email, $ valeur = $ _POST ['email']). Si tel est le cas, le nombre d'instances de ce type serait supérieur à 0 et le visiteur serait un visiteur de retour. Nous l'utilisons aussi dans index.php pour le codeCheck fonction (voir ci-dessous) pour vérifier si un code généré par le randomString la fonction a déjà été utilisée (peu probable mais sûr de vérifier quand même).

 // COUNT CHECK (RETOUR COUNT D'INSTANCES WHERE X = Y) fonction countCheck ($ table, $ entry, $ value) $ query = wpdbQuery (wpdbQuery ("SELECT COUNT (*) FROM table $ WHERE $ entry = '$ valeur '",' prepare '),' get_var '); return $ query;  // REPEAT CODE CHECK fonction codeCheck () global $ wpdb; $ code = randomString (); $ count = countCheck ($ wpdb-> préfixe. 'launcheffect', 'code', $ code); if ($ count> 0) echo randomString ();  else echo $ code; 

Obtenir des données: Ceci saisit simplement tout de notre table. le Obtenir des résultats type de fonction stocke les résultats dans un tableau.

 // Fonction GET DATA getData ($ table) $ result = wpdbQuery ("SELECT * FROM table ORDER BY time DESC", 'get_results'); return $ result; 

Obtenir les données par valeur: Ceci récupère tout de notre table qui correspond à un certain paramètre. Nous l'utilisons à plusieurs endroits: dans post.php, si un visiteur est un visiteur déjà inscrit, nous renvoyons toutes les données dont l'adresse électronique affichée est égale à l'adresse électronique déjà existante dans la base de données. Ceci renvoie les données de visites et de conversions pour ce visiteur. Nous l'utilisons également dans la page d'administration Launch Stats pour afficher des données spécifiques relatives à un visiteur..

 // OBTENIR DES DONNEES PAR VALEUR (RETOUR X OERE Y = Z) fonction getDetail (table $, entrée $, valeur $) $ result = wpdbQuery ("SELECT * FROM table o $ entrée $ '= valeur' ​​ORDER BY heure DESC ", 'Obtenir des résultats'); return $ result; 

Étape 3 Les statistiques

Fichiers référencés:

  • fonctions / le-stats.php

Comme vous l'avez sans doute découvert, la page de statistiques se trouve en tant qu'élément de menu de niveau supérieur dans l'administrateur WordPress. Nous allons extraire nos données dans un joli tableau sur cette page où vous pourrez accéder à des personnes individuelles. Crédit supplémentaire pour la pagination et le tri!

Besoin de redéfinir cette variable pour notre table ici encore.

 $ stats_table = $ wpdb-> préfixe. «effet de lancement»;

Si l'URL contient une chaîne de requête "view", nous allons en fait examiner la page de détail d'un visiteur spécifique (une page qui montre à tous ceux qui se sont inscrits jusqu'à présent en raison de leur lien), par opposition à tous les autres. stats à la fois. Les visiteurs sont catalogués en fonction de leurs codes à 5 caractères. La chaîne de requête ressemble donc à "? View = XXXXX" à la fin de l'URL..

 if (isset ($ _ GET ['view'])) 

Met le $ voir variable égale à la valeur de la chaîne de requête.

 $ view = $ _GET ['view'];

Interrogez la table wp_launcheffect pour les entrées où la colonne "référée" est égale à $ voir et le stocker dans le $ résultats variable. En gros, montrez-nous les personnes qui se sont inscrites à la suite du lien de parrainage unique de ce visiteur. (Veuillez vous référer à la section le-functions.php pour une explication de la fonction.)

 $ results = getDetail ($ stats_table, 'refer_by', $ view);

S'il n'y a pas de résultats, dites-le.

 si (! $ résultats):?> 

Stats: Inscriptions: Détail

Rien à voir ici pour l'instant. Accéder aux statistiques d'inscription.

Sinon, affichez le contenu du tableau $ results en utilisant une boucle foreach.

Stats: Inscriptions: Détail

ID Temps Converti en IP
id; ?> temps; ?> code; ?> ">email; ?> ip; ?>

Si l'URL ne contient aucune chaîne de requête, affichez simplement la page de statistiques principale. Obtenez toutes les données de la table wp_launcheffect et stockez-les dans le $ résultats variable. Afficher le contenu de la $ résultats tableau utilisant une boucle foreach.

 

Statistiques: inscriptions

ID Temps Email Les visites Conversions Taux de conversion IP
id; ?> temps; ?> code; ?> ">email; ?> visites! = 0) echo $ result-> visites; ?> conversions! = 0) echo $ result-> conversions; ?> visites + $ résultat-> conversions! = 0) $ conversionRate = ($ résultat-> conversions / $ résultat-> visites) * 100; echo round ($ conversionRate, 2). '%'; ?> ip; ?>

Merci!

J'espère que cela vous a été utile et j'ai hâte d'entendre vos commentaires.!