J'aimerais obtenir l'identifiant (ou le lien permanent) de la page visitée par le visiteur juste avant de visiter la page en cours, autrement dit l'identifiant de la dernière page de l'historique du navigateur.
Cela peut-il être fait? Une idée comment le faire?
Découpez cela en deux parties:
Tout d'abord, nous créons une variable qui stocke l'URL de la dernière page visitée, comme ceci:
$prev_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
Ensuite, vous pouvez utiliser substr et strpos pour tout réduire entre? = et le/après le numéro d’ID. comme ça:
$prev_url = 'http://www.yoursite.com/?p=123';
$id_block = substr($prev_url, strpos($prev_url, "?p=")+1);
$id = substr($id_block, 0, strpos($id_block, "/"));
.. Ou vous pouvez utiliser jQuery/Javascript pour atteindre le même objectif.
Je n'ai pas testé cela mais ça devrait marcher - laissez-moi savoir comment ça marche! Bonne chance ;)
J'ai fait cette astuce comme ceci pour me permettre de vérifier également si c'est une de mes pages:
// Récupère le dernier lien de l'histoire
$prev_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
// Vérifie si non nul et s'il contient l'URL de mon blog
if( !empty( $prev_url ) || strpos( $prev_url, (string)get_blog_details()->domain ) !== false ) :
//Then display it only if it's one of my blog page ?>
<a href="<?php echo $prev_url; ?>" class="previous-history-link">The last page from history</a>
<?php endif; ?>