将php if语句应用于另一个if语句?

时间:2011-06-22 20:28:53

标签: php if-statement

我希望下面的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; ?>

但我不知道如何放置它。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以直接替换:

if ( bbp_has_topics( $bbp_loop_args ) ) :

由:

if ( is_single( 'user' ) || bbp_has_topics( $bbp_loop_args ) ) :

这样,仅当第一个条件为false时才应用第二个条件。