我已经在这段代码上被困了6个小时。我究竟做错了什么?
我似乎无法比较两个字符串 the_title()的值,而只是直接在IF语句中的普通字符串或来自不同变量的相同字符串。 IF语句不起作用。我尝试使用==,===和strcmp(),但没有,它只是拒绝承认两个字符串确实相同(我已经多次打印出来并且它们匹配)。有什么想法吗?
<?php
$args = array( 'post_type' => 'team', 'showposts' => -1 );
$items = new WP_Query( $args );
while ($items->have_posts()) : $items->the_post();
$title = the_title(); // one of the titles in the while loop is indeed "Jon Snow"
$comp = 'Jon Snow';
if ( $title === $comp ){
echo 'Success!';
}
endwhile;
wp_reset_query();
?>
哦,每当IF语句不起作用时,系统就会在while循环中打印出所有 the_title()值。
答案 0 :(得分:1)
哦,每当IF语句不起作用时,系统就会打印出来 输出while循环中的所有the_title()值。
您已在自己的问题中回答。默认情况下,the_title()会打印帖子的标题。要比较标题,首先必须将其保存在变量中,然后进行比较。
the_title()接受3个参数,第3个参数(FALSE)是将标题作为返回值而不是仅打印它。第三个参数默认为TRUE,它在页面上打印标题。
这就是你可以做到的。
<?php $posttitle=the_title( '', '', FALSE); ?>