我有一个名为'events'的自定义WordPress帖子类型,其中包括日期和描述字段。我已经在他们的永久链接页面上成功列出了它们,这导致链接以:
结尾/活动/独创性-2014-开球接收/?标题=别出心裁%202014%20Kick-OFF%20Reception
所以我在URL中传递标题,然后将此代码放在single.php中:
<?php $title = $_GET['title']?>
<div id="content" class="content" role="main">
<?php
$args = array(
'posts_per_page' => -1,
'post_type' => 'events',
'order' => 'asc'
);
$eventslist = new WP_Query( $args );
while ($eventslist->have_posts()) : $eventslist->the_post();
$actual_title = the_title();
if($title==$actual_title) {
$description = get_field('description');
$date = get_field('date');
?>
The description:
<?php echo $description ?>
<?php echo $date ?>
</div>
<?php } ?>
由于某种原因,包含上述代码的结果single.php页面只是为事件类中的每个帖子吐出标题。我没有运气只根据相关帖子的具体标题回应描述。
%20让我搞砸了吗?我以为GET会处理这些问题。这是我缺少的东西吗?我真的很难过......感谢您的帮助!
答案 0 :(得分:1)
在没有任何参数的情况下使用the_title()
只会回显标题。由于回声成功完成,因此$actual_title
变量为TRUE
。在PHP中,任何字符串== TRUE
。如果您使用===
,则不会出现此误报问题。
要更正此问题,请使用the_title('', '', FALSE)
或get_the_title()
将标题返回到PHP中的值。