我在WordPress的某个帖子类型下调用一堆帖子,但是我正在尝试添加一个条件,如果那些帖子的自定义元字段(标记为“disc”)等于当前帖子的标题,它将首先检查
这是我所拥有的,但这种条件似乎不起作用:
<?php
$pages = get_posts('numberposts=9999&post_type=song&post_status=publish&order=ASC&orderby=date');
$i = 1;
foreach( $pages as $page ) {
$content = $page->post_title;
if( empty($content) ) continue;
$content = apply_filters('the_content', $content); ?>
<?php if(get_post_meta($page->ID, "p30-disc", true)=="the_title()") { ?>
<tbody class="vevent">
<?php if ($i%2===0) { ?><tr class="gigpress-row gigpress-alt">
<?php } else { ?><tr class="gigpress-row"><?php } ?>
<td><?php echo $page->post_title ?></td>
<td><?php echo get_post_meta($page->ID, "p30-length", true); ?></td>
<td><a href="http://itunes.com/<?php echo get_post_meta($page->ID, "p30-itunes-song", true); ?>">BUY</a></td>
</tr>
<tr class="gigpress-info">
<td colspan="3"><?php echo $page->post_content ?></td>
</tr>
</tbody>
<?php $i++;
} } ?>
当我简单地回应“get_post_meta($ page-&gt; ID,”p30-disc“,true)”或“the_title()”时,它会吐出正确的值,这些值是相等的,所以显然有些错误有条件的。
谢谢,
瓦德
答案 0 :(得分:1)
看起来你正在“引用”标题函数 - 基本上,当你应该调用它时,将它变成一个字符串。
<?php if(get_post_meta($page->ID, "p30-disc", true)==the_title()) { ?>
应该有用吗?
答案 1 :(得分:0)
原来有一个名为get_the_title()的函数用于此类事情。工作得很好。
答案 2 :(得分:0)
您可以使用get_the_title()
功能来路由页面或显示特定内容。
if ( is_front_page() || is_home() ) :
get_template_part( 'template-parts/content', 'home' );
elseif(get_the_title() === 'account'):
get_template_part( 'template-parts/content', 'account' );
elseif(get_the_title() === 'login'):
get_template_part( 'template-parts/content', 'login' );
else :
get_template_part( 'template-parts/content', 'page' );
注释 区分大小写,因此,如果页面标题全部为小写,则字符串应为to。