首先,注意你的格式<未来的你谢谢你
第二,你刚刚在你的$args
变量我相信你要找的是meta_query
这需要“数组的数组”来进行比较。
第三,我相信你也在寻找posts_per_page
, 不numberposts
. posts_per_page
是的记录限制参数WP_Query()
.
还有一些注释,您不需要在单独的行上串联回显字符串,只需保留引号。我不知道是什么(Today)
应该是误传的字符串?您也不需要定义$id
因为你只使用了一次,所以使用$post->ID
缩略图ID。您似乎也在回音the_
函数,这些函数是响应get_
功能(参见the_title()
vs公司get_the_title()
更多信息/)
正如Tom所提到的,您可以考虑对这种分类进行分类,但是,由于我们不知道这种分类的确切情况,我将把它作为meta\\u查询:
$args = array(
\'post_type\' => \'page\',
\'posts_per_page\' => 1,
\'meta_query\' => array(
array(
\'key\' => \'calmonthname\',
\'value\' => \'July\',
\'compare\' => \'=\',
\'type\' => \'CHAR\',
)
),
);
$the_query = new WP_Query( $args );
if( $the_query->have_posts() ){
echo \'<ul>\';
while( $the_query->have_posts() ) : $the_query->the_post();
$thumb = get_the_post_thumbnail( $post->ID, \'full\');
echo \'<li><a href="\'. get_permalink() .\'">\'. $thumb . get_the_title() .\' (Today)</a></li>\';
endwhile;
echo \'</ul>\';
}
Update: 基于您的代码(您也可以
wp_reset_query()
和使用
wp_reset_postdata()
与我们的评论相反,这里有一个更新的答案:
<?php
$now = new \\DateTime(\'now\');
$day1= $now->format(\'j\');
$day = strval($day1);
$day = str_pad($day , 2, \'0\', STR_PAD_LEFT); //put a 0 in front if single number
$month1 = $now->format(\'m\');
$month = strval($month1);
$month = str_pad($month , 2, \'0\', STR_PAD_LEFT); //put a 0 in front if single number
//echo $day . $month;
$args = array(
\'post_type\' => \'page\',
\'meta_query\' => array(
array(
\'key\' => \'calday\',
\'value\' => $day,
\'compare\' => \'=\',
\'type\' => \'CHAR\',
),
array(
\'key\' => \'calmonth\',
\'value\' => $month,
\'compare\' => \'=\',
\'type\' => \'CHAR\',
),
\'relation\' => \'AND\'
)
);
$the_query = new WP_Query( $args );
if( $the_query->have_posts() ){
echo \'<ul>\';
while( $the_query->have_posts() ) : $the_query->the_post();
$thumb = get_the_post_thumbnail( $post->ID, \'full\');
echo \'<li><a href="\'. get_permalink() .\'">\'. $thumb . get_the_title() .\' </a></li>\';
endwhile;
echo \'</ul>\';
}
wp_reset_postdata();
?>