我希望下面的if语句只出现在某些页面上(例如,如果这是一个用户页面,我不希望它们包围整个结构):
<div class="mainbar">
<?php if /* I don't want this and... */ ( bbp_has_topics( $bbp_loop_args ) ) : ?>
<?php while ( bbp_topics() ) : bbp_the_topic(); ?>
<div class="topic-wrapper">
<div class="topic-left">
<h2><a href="<?php bbp_topic_permalink(); ?>" title="<?php bbp_topic_title(); ?>"><?php bbp_topic_title(); ?></a></h2>
<span><?php printf( __( 'Started by: %1$s', 'bbpress' ), bbp_get_topic_author_link( array( 'size' => '14' ) ) ); ?></span>
<?php if ( !bbp_is_forum() || ( bbp_get_topic_forum_id() != bbp_get_forum_id() ) ) : ?>
<span class="bbp-topic-started-in"><?php printf( __( 'in: <a href="%1$s">%2$s</a>', 'bbpress' ), bbp_get_forum_permalink( bbp_get_topic_forum_id() ), bbp_get_forum_title( bbp_get_topic_forum_id() ) ); ?></span>
<?php endif; ?>
<?php bbp_topic_tag_list(); ?>
</div><!-- #topic-left -->
<div class="topic-right">
<div class="topic-like-count">
<h4><?php // bbp_topic_reply_count(); ?><?php if(function_exists('the_ratings')) { the_ratings(); } ?></h4>
<span><?php _e( 'likes' ); ?></span>
</div>
<div class="topic-reply-count">
<h4><?php bbp_topic_reply_count(); ?></h4>
<span><?php _e( 'replies' ); ?></span>
</div>
<div class="topic-freshness">
<h4><?php bbp_topic_freshness_link(); ?></h4>
<span>
<?php bbp_author_link( array( 'post_id' => bbp_get_topic_last_active_id(), 'size' => 14 ) ); ?>
</span>
</div>
</div><!-- #topic-right -->
</div><!-- #topic -->
<?php /* this to appear in an user page */ endwhile; ?>
<?php endif; ?>
</div><!-- #mainbar -->
这是我应该使用的if语句,以确保上面的if语句不包围用户页面中的整个结构:
<?php if ( ! is_single( 'user' ) ) : ?>
<?php endif; ?>
但我不知道如何放置它。
有什么建议吗?
答案 0 :(得分:3)
如果我理解正确,您可以直接替换:
if ( bbp_has_topics( $bbp_loop_args ) ) :
由:
if ( is_single( 'user' ) || bbp_has_topics( $bbp_loop_args ) ) :
这样,仅当第一个条件为false
时才应用第二个条件。