所以我一直试图让index.php做三件事。
如果有缩略图显示缩略图并执行特定样式。
如果没有缩略图做不同的事情
如果页面是单数的话,那么最后一个语句将显示其他内容。
由于某种原因,它一直在失败。我在这里看过一些演示,但我无法弄清楚
<?php /** this is the first if statement **/?>
<?php if ( is_home () || is_category() || is_archive() ): ?>
<?php if ( has_post_thumbnail() ) { ?>
<article class="blog-card" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php optz_post_thumbnail(); ?>
<?php
if ( is_singular() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
endif;
if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta">
</div><!-- .entry-meta -->
<?php
endif; ?>
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_excerpt( sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'optz' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
) );
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'optz' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php
optz_posted_on();
optz_posted_by();
?>
<?php optz_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<?php /** this is the first second else statement **/ elseif (is_home () || is_category() || is_archive()) :>
<article class="blog-card" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta">
</div><!-- .entry-meta -->
<?php
endif; ?>
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content( sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'optz' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
) );
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'optz' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php
optz_posted_on();
optz_posted_by();
?>
<?php optz_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<p>Nothing to see</p>
**更新代码:**
<?php if ( is_home () || is_category() || is_archive() ) { ?>
<?php if ( has_post_thumbnail() ) { ?>
<article class="blog-card" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php anasa_post_thumbnail(); ?>
<?php
if ( is_singular() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
endif;
if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta">
</div><!-- .entry-meta -->
<?php
endif; ?>
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_excerpt( sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'anasa' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
) );
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'anasa' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php
anasa_posted_on();
anasa_posted_by();
?>
<?php anasa_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<?php /** this is the second else statement **/ } elseif (is_home () || is_category() || is_archive()) {?>
<article class="blog-card" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php
the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
if ( 'post' === get_post_type() ) : ?>
<div class="entry-meta">
</div><!-- .entry-meta -->
<?php
endif; ?>
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content( sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'anasa' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
) );
wp_link_pages( array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'anasa' ),
'after' => '</div>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php
anasa_posted_on();
anasa_posted_by();
?>
<?php anasa_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-<?php the_ID(); ?> -->
<?php /** this is the last if else statement **/ } else {?>
<?php
if ( is_singular()) {
echo'hi';
}?>
<?php }} ?> <!-- this is the main php thumbnail close tag --!>
答案 0 :(得分:1)
你错过了一个“?”在你的PHP结束标签?在 elseif 之后的行上,您的评论中写着:“这是第一个其他声明”
<?php elseif (is_home () || is_category() || is_archive()) :>
你的另一条评论所在的行 else 上也有一个冒号和一个大括号:这是if else语句的第一个
<?php /** this is the first last if else statement **/ }else :{?>
另外一个建议是,如果你将PHP与Html一起编写(在视图中),许多人使用冒号而不是大括号,因此代码更容易查看。无论哪种方式,无论你喜欢什么,但我认为你应该坚持这两个中的一个。
你的陈述一般都没问题。如果您调整所有语句以使用 :(冒号)或 {,它应该都可以正常工作。
答案 1 :(得分:0)
不确定这是否会影响您正在做的事情,但通常您希望如果语句被翻转:if ( get_post_type() === 'post' ) : ?>
答案 2 :(得分:0)
你这里有错误
<?php /** this is the first last if else statement **/ }else :{?>
没有冒号就应该这样:
<?php /** this is the first last if else statement **/ }else {?>
尝试对条件语句使用相同的标准,而不是在同一文件中使用不同的约定。