1
をキャッシュされているから)(get_query_varを防ぐ:ワードプレス:私はPHPで以下のプラグインのコードを持って
function getHotels() {
if(get_query_var('htl_destination') !== null) {
$url = "http://xmlfeed.laterooms.com/index.aspx?aid=100&rtype=4&kword=".get_query_var('htl_destination')."&sdate=".get_query_var('htl_start_date')."&nights=".get_query_var('htl_nights')."";
$data = file_get_contents($url);
$xml = simplexml_load_string($data) or die("Error cannot create object");
foreach($xml->hotel as $hotel) {
echo
"<div class='panel'>
<div>
<img class='img-left' src='{$hotel->images}'></img>
<div class='price'>
<p>Prices from</p>
<h1>£".str_replace(".0", "", $hotel->prices_from)."</h1>
<a href='#' class='view-now'>View now</a>
</div>
<div class='info'>
<h1>{$hotel->hotel_name}</h1>";
for($i=0; $hotel->hotel_star > $i; $i++) {
echo "<i>★</i>";
}
echo "
<p>{$hotel->hotel_address}</p>
</div>
</div>
</div>";
}
} else {
echo "<p>No results</p>";
print_r($_POST);
}
}
HTML:
<form method="get" action="">
<input style="margin-left: 0% width: 25%" class="form-control htl_filter" type="text" name="htl_destination" placeholder="Destination" required>
<input style="margin-left: 0%" class="form-control htl_filter" type="date" name="htl_start_date" placeholder="Date" required>
<div class="htl_filter" style="margin-left: 0%;">
<select name="htl_nights" required>
<option value="1">1 Night</option>
<?php
for ($i=2; $i < 29; $i++) {
echo "<option value={$i}>{$i} Nights</option>";
}
?>
</select>
</div>
<button style="width: 15%;" type="submit">Search</button>
</form>
フォームは、クエリ変数は以下のページに提出された場合キャッシュされ、結果は変更されません。
私たちのサイトにサイトグラスキャッシュプラグインがインストールされており、「SGキャッシュのパージ」をクリックするまで結果は変わりません。
私のプラグインがあるページのURLをsitegroundキャッシュプラグイン除外リストに追加しようとしましたが、成功しませんでした。
変数のキャッシュを停止する方法はありますか?
です。 – Blackbam
@Blackbam問題はPurge SG Cacheではありません。この情報を追加して、プラグインがサイトにインストールされていることを読者に認識させました。私は既にプラグインの除外リストにURLを追加しているので、そのプラグインを使用することは問題ではない可能性が非常に高いです。 –
htl_destinationは正しく設定されていますか?あなたがそれを設定しなければ、明らかにそれは空になるでしょう。 – Blackbam