現在のページを訪問する直前に訪問者が訪問したページのID(またはパーマリンク)、つまりブラウザ履歴の最後のページのIDを取得します。
これはできますか?どのようにそれをする方法がありますか?
これを2つの部分に分けます。
まず、最後に訪れたページのURLを格納する変数を次のように作成します。
$prev_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
次に、 substr と strpos を使用して、 ?= と / の間のID番号の後にあるすべてを削除できます。このような:
$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, "/"));
あるいは、 jQuery/Javascript を使っても同じことができます。
私はこれをテストしていませんが、それはうまくいくはずです - どうやってそれを教えてください!がんばろう ;)
私はそれが私のページの1つであるかどうかも確認することを私に可能にするためにこのようなトリックをしました:
//履歴から最後のページへのリンクを取得する
$prev_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
// nullではないかどうか、ブログのURLが含まれているかどうかを確認する
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; ?>