0

私は WP_Query を介してカテゴリのすべての投稿を取得しようとしています:

//url whould be www.blablabla.com/?cat=4
$featured = new WP_Query('cat=$_GET["cat"]');

cat は HTTP GET パラメータです。これにより、「cat」パラメーターを無視してすべての投稿が返されます。しかし、$_GET の代わりに整数値を書き込むと、期待される投稿が得られます。

//This returns all the post of the category with slug = 4
$featured = new WP_Query('cat=4');

前に $_GET["cat"] と書くと、画面に 4 が表示されます。WP_Query がパラメーターを文字列として取得しており、これにより条件が無視されるようになっていると思いますが、とにかくパラメーターをキャストしようとしましたが、機能させることができません。私はWordpressを初めて使用するので、これはかなりばかげていると確信しています。

前もって感謝します!

4

2 に答える 2

2

試す

$featured = new WP_Query('cat='.$_GET["cat"]);

WP_Query に渡すパラメーターは、単一引用符で囲まれた文字列です。一重引用符で囲まれた文字列では変数の補間は行われないため、実際には cat=$_GET["cat"] を渡したいときに、リテラル文字列 cat=$_GET["cat"] を渡しています。

于 2013-09-26T18:54:43.370 に答える
0

$_GET["cat"] が期待値を与えていると確信していますか?

試してください: $cat = $_GET["cat"];//ここに検証を追加する必要があります var_dump($cat);//正しい値がそこにあることを確認するためだけに、完了したらこの行を削除してください $featured = new WP_Query ("猫=$猫");

于 2013-09-26T18:56:06.087 に答える