PHP がその真理値を評価しようとする前に、変数を展開/置換することは可能ですか?
現在のページに応じて異なるクエリを実行する単一の Wordpress テンプレートをコーディングしようとしています。ホームページにいる場合、クエリは次のようになります。
while ( $postlist->have_posts() ) : $postlist->the_post();
// code...
ホームページにいない場合、クエリは次のようになります。
while ( have_posts() ): the_post();
// code...
だから私はこれを試してみようと思った:
$query_prefix = ( is_front_page() ) ? '$postlist->' : '';
$query_condition = $query_prefix.'have_posts()';
$query_do = $query_prefix.'the_post()';
while ( $query_condition ): $query_do;
// code...
問題は、これが無限ループを作成していることです。これ$query_condition
は、文字列であり、TRUE と評価されるためです。PHP が変数の内容を決して「読み取らない」ようです。変数が文字どおりに展開される必要があり、それから評価のためにそれ自体を提供します。誰でもこれを行う方法を教えてもらえますか?