我有一个名为'events'的自定义WordPress帖子类型,其中包括日期和描述字段。我已经成功地在一个带有永久链接的页面上列出了它们,这导致了一个以
结尾的链接/事件/创造力- 2014 -踢- -接待/?title =独创性% 20开球202014% % 20接待
所以我在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 } ?>
由于某种原因,包含上述代码的结果单个.php页面只是在events类中输出每个帖子的标题。我没有成功地只根据所讨论的帖子的特定标题来响应描述。
是%20把我搞得一团糟吗?我以为GET会处理这些。我还遗漏了什么吗?我真的被难住了……谢谢你的帮助!
使用不带任何参数的the_title()
只是呼应标题。由于echo成功完成,所以$actual_title
变量为TRUE
。在PHP中,任意字符串== TRUE
。如果你使用===
,你就不会有这个误报问题。
要纠正这个问题,使用the_title('', '', FALSE)
或get_the_title()
在PHP中将标题返回为一个值。