1

私はPHPにかなり慣れていません.WordPressで作業していますが、この質問はWordPress固有のものではないと思います. 基本的に、いくつかの数値を返す MySQL クエリを実行しました。WordPress では、次のように、wp_list_pages() という関数を使用して、どのページを何かに含めたいかを正確に指定できます。

 wp_list_pages('include=161,164,167,171,172,173,174,185,188,135,141,&title_li=');

3桁の数字はすべて投稿IDです。私がやりたかったのは、これらの数値をハードコーディングするのではなく、プログラムで生成することでした。だから、私は以下を使用します:

    $results = $wpdb->get_results("SELECT * FROM [table] WHERE [column] LIKE [string] ");
foreach($results as $returned_id) {$pagelist.=$returned_id->post_id.",";}

これは問題なく機能します (括弧内はすべて実際の情報に置き換えられます)。基本的に、SQL クエリに一致する数値の $pagelist 変数にリストを作成するだけです。「echo $results」を実行すると、出力は「161,164,167...」など、ハードコードされたバージョンの正確なリストになります。

ハードコードされたバージョンをプログラムバージョンに置き換えたいと思います-私はそれが次のようなものであるべきだと考えていました

wp_list_pages('include=$pagelist');

しかし、これはうまくいきません。その例の $pagelist をその変数の内容に置き換えたいと思います。どうすればいいですか?

4

4 に答える 4

4

オプション1

変数を評価する場合は、二重引用符を使用する必要があります。

wp_list_pages("include=$pagelist")

また

wp_list_pages("include={$pagelist}")

オプション 2

文字列連結を使用する

wp_list_pages('include=' . $pagelist);

オプション 3

使用するsprintf

wp_list_pages(sprintf('include=%s',$pagelist));
于 2012-05-23T19:47:24.073 に答える
0

PHP では、変数は二重引用符で囲まれているだけで検索されます。したがって、「」の代わりに「」を使用してください

wp_list_pages("include=$pagelist");

あなたができるもう一つのことは、変数を文字列と連結することです. このような:

wp_list_pages('include='.$pagelist);
于 2012-05-23T19:47:14.223 に答える
0

試しましたか:

wp_list_pages('include=' . $pagelist);

また

wp_list_pages("include={$pagelist}");
于 2012-05-23T19:47:47.220 に答える
0

文字列内の変数を参照するには、二重引用符を使用する必要があります。

于 2012-05-23T19:47:52.310 に答える