Maintenant, voici ce que je vous suggère de faire. Accédez à votre thème et ouvrez le fichier functions.php Puis trouver un endroit approprié n'importe où sur le fichier (Le bas du fichier ne serait pas étrange). Ensuite, ajoutez les fonctions suivantes:
<?php
// FILE-NAME: functions.php <== LOCATED AT THE ___/wp-content/themes/your-theme-name
add_action("init", "initiatePageLogging");
function initiatePageLogging(){
// START THE SESSION IF IT HAS NOT BEEN STARTED
// THIS WOULD BE USED TO SHARE DATA ACROSS YOUR PAGES...
if (session_status() == PHP_SESSION_NONE || session_id() == '') {
session_start();
}
// CHECK THAT THE SESSION VARIABLE FOR OUR PAGE-LOGGING IS THERE
// IF NOT CREATE IT
if(!isset($_SESSION['visitedPages'])){
// IT DOES NOT EXIST SO WE CREATE IT & INITIALIZE IT AS AN EMPTY ARRAY
$_SESSION['visitedPages'] = array();
}
// NO NEED TO KEEP THE SESSION ARRAY $_SESSION['visitedPages'] TOO LONG
// SO WE TRIM IT OUT CONDITIONALLY TO KEEP IT UNDER CHECK
if(count($_SESSION['visitedPages']) >= 10){
// WE REMOVE ABOUT 7 ELEMENTS FROM THE BEGINNING OF THE ARRAY
// LEAVING JUST THE LAST 3 - NOW THAT'S COOL...
$arrVisitedPages = $_SESSION['visitedPages'];
array_splice($arrVisitedPages, 0, 7);
// RE-DEFINE THE $_SESSION['visitedPages'] ARRAY
$_SESSION['visitedPages'] = $arrVisitedPages;
}
}
function getLastVisitedPage(){
$lastVisitedPage = get_site_url() . $_SERVER['REQUEST_URI']; //<== FALL BACK TO THE CURRENT PAGE IF WE HAVE AN ISSUE.
if(isset($_SESSION['visitedPages']) && is_array($_SESSION['visitedPages'])){
$arrVP = $_SESSION['visitedPages'];
$intArrVPLength = count($arrVP);
$diff = ($intArrVPLength - 2);
$lastVisitedPage = ($intArrVPLength > 1) ? $arrVP[$diff] : $lastVisitedPage;
}
return $lastVisitedPage;
}
?>
Maintenant, la partie 1 est fait! À l'intérieur de votre thème, vous trouverez toujours un fichier appelé header.php C'est ici que nous devons effectuer la journalisation car par défaut, chaque page de Word-Press charge cette page (sauf si configuré autrement). Au très, très haut de ce fichier - je veux dire sur la ligne 1, faites ceci:
<?php
// FILE-NAME: header.php <== LOCATED AT THE ___/wp-content/themes/your-theme-name
// BUILD THE URL OF THE CURRENT PAGE & PUSH IT TO THE SESSION VARIABLE...
$thisPage = get_site_url() . $_SERVER['REQUEST_URI'];
$_SESSION['visitedPages'][] = $thisPage;
// THAT'S ALL! BELOW HERE, THE ORIGINAL CONTENT OF THE header.php FILE CONTINUES...
?>
Une chose! Comment utilisons-nous maintenant le $ _SESSION ['visitedPages'] Variable? Sinon, comment pouvons-nous savoir quelle page a été visitée en utilisant la variable $ _SESSION ['visitedPagesPages']?
Maintenant sur tous les fichiers comme (page.php, index.php, category.php, taxonomy.php, etc); vous pouvez maintenant trouver la dernière page visitée en faisant quelque chose comme ceci:
<?php
// FILE-NAME: ANY FILE IN THE THEME LIKE: page.php, index.php, category.php, taxonomy.php, etc
$lastVisitedPage = getLastVisitedPage();
// THAT'S IT, PAL...
?>
J'espère que cette aide ....
Pas vraiment une question adaptée pour SO car il est principalement basé avis sur la façon dont vous » d approche cela, aussi une question très large. – Epodax
@Epodax, comment est-ce basé sur l'opinion? Il demande simplement comment il devrait être implémenté dans wordpress. – SZenC
@SZenC Parce qu'il y a probablement plusieurs façons de faire ce que l'OP veut, et cela se résume à la façon dont chaque personne préfère faire certaines choses. Mais même si nous avons ignoré cela, c'est toujours un large/nous demandant "comment" la question qui est hors sujet pour SO. – Epodax