我在网站上有自定义帖子类型,并且我想在没有该帖子类型的任何项目时显示消息。
我已经修改了PHP并查看了一些教程,但是教程中的语法与我正在使用的语法略有不同,所以我无法让它工作。
这是我到目前为止所做的:
<section class="bigsection clearfix" id="joinus">
<h2><?php echo(types_render_field( 'job-section-header', array( ) )); ?></h2>
<p class="bodycopy"><?php echo(types_render_field( 'job-section-text', array( ) )); ?></p>
<div class="jobs">
<?php
// WP_Query arguments
$args = array (
'post_type' => array( 'job' ),
'nopaging' => true,
'orderby' => 'menu_order',
'order' => 'ASC'
);
$jobs = new WP_Query( $args );
if ( $jobs->have_posts() ) {
while ( $jobs->have_posts() ) {
$jobs->the_post();
?>
<div class="single-job">
<h3><?php the_title( ); ?></h3>
<p><a href="<?php echo(types_render_field( 'link-to-job-description', array('output' => 'raw' ) )); ?>">Job Specification</a></p>
</div>
</div>
endwhile;
}
else {
<p>There are no current vacancies at this time</p>
}
?>
<?php
}
}
// Restore original Post Data
wp_reset_postdata();
?>
</section>
代码显然在技术上是正确的(即没有语法错误),但是当它正确显示可用的作业时,当没有任何可用作业时,它没有显示“此时没有当前空缺”消息。
任何帮助将不胜感激!
谢谢:)
答案 0 :(得分:0)
你有太多的括号,而你的最终版本没有<?php
标签才能使其正常工作。你“.jobs”div也需要处于if状态。最好在结束之后添加wp_reset_postdata();
,而不是在所有条件之后,因为如果你没有输入if条件,则不需要使用wp_reset_postdata();
。并删除所有括号,因为当你有很多html时,你无法轻易看到它们。
<section class="bigsection clearfix" id="joinus">
<h2><?php echo(types_render_field( 'job-section-header', array( ) )); ?></h2>
<p class="bodycopy"><?php echo(types_render_field( 'job-section-text', array( ) )); ?></p>
<?php
// WP_Query arguments
$args = array (
'post_type' => array( 'job' ),
'nopaging' => true,
'orderby' => 'menu_order',
'order' => 'ASC'
);
$jobs = new WP_Query( $args );
if ( $jobs->have_posts() ) : ?>
<div class="jobs">
<?php while ( $jobs->have_posts() ) : $jobs->the_post();?>
<div class="single-job">
<h3><?php the_title( ); ?></h3>
<p><a href="<?php echo(types_render_field( 'link-to-job-description', array('output' => 'raw' ) )); ?>">Job Specification</a></p>
</div>
<?php endwhile; wp_reset_postdata();?>
</div>
<?php else : ?>
<p>There are no current vacancies at this time</p>
<?php endif; ?>
</section>