-1

Wordpressの検索フォームを作成しましたが、forステートメントの外部でPHP文字列を適切に機能させることはできません。

フィルターを機能させるためにWordPressクエリを使用しています。ご覧のとおり、さまざまなカスタムフィールドを使用しています。

$heightおよびなどの残りの文字列は、$tshirt_size-数百行下で定義され、完全に機能します。

私たちが抱えている唯一の問題は、文字列をステートメント$all_datesの外で機能させることができないということです。for

内部に印刷しようとすると、正常に機能し、要求しているすべての日付が表示されます。しかし、外でやろうとすると、1つの日付(最後の日付)しか表示されません。

これがクエリの仕組みです(注釈が十分に明確であることを願っています):

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;   

query_posts( array(
'post_type' => 'bbdd',
'paged' => $paged,
'meta_query' => array(
            $tshirt_size,           /*WORKS WELL*/
            $shoe_size,              /*WORKS WELL*/
            $height,                 /*WORKS WELL*/
            $weight,                 /*WORKS WELL*/
            array( 'key' => 'age',
                   'value' => array($all_dates) /*NOT WORKING*/ ),)) );

$date_from = $_GET["date_from"]; 
$date_from = strtotime($date_from); 

$date_to = $_GET["date_to"]; 
$date_to = strtotime($date_to);

for ($i=$date_from; $i<=$date_to; $i+=86400)
{
    $all_dates = "'" . date("d/m/Y", $i) . "', ";

echo $all_dates; /*PRINTING ALL DATES*/ 
}  
echo $all_dates; /*PRINTING ONLY ONE DATE (LAST DATE)*/ ?>
4

3 に答える 3

0

通常、「for」では、サイクルするたびに日付を印刷します。「for」の外側では、最後の日付のみを印刷し、連結する必要のあるすべての日付を印刷します。

于 2013-01-23T13:29:32.490 に答える
0

これを試して

for ($i=$date_from; $i<=$date_to; $i+=86400)
{
    $all_dates .= "'" . date("d/m/Y", $i) . "',  ";

}  
echo $all_dates; /*PRINTING ALL DATES*/ 
于 2013-01-23T13:30:23.057 に答える
0

元の$all_datesを連結していない:

$all_dates ="'"。date( "d / m / Y"、$ i)。"'、";

于 2013-01-23T13:32:19.023 に答える