0

在我们当前的网站上,我们有不同的公司简介。有些公司的博客文章会显示在他们的个人资料上,有些则没有。它们是页面模板中帖子上方的 h2 标记,然后是引入帖子的代码。代码看起来像这样。

 <h2>Recent Blog Articles</a></h2>
 <?php echo get_related_author_posts(); ?>

我正在尝试找到一种方法,以便如果他们没有公司的帖子,则不会显示 h2 标签。函数文件中的代码是

function get_related_author_posts() {
    global $authordata, $post;

    $authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 5 ) );


    $output = ' <ul style="list-style: none;">';
    foreach ( $authors_posts as $authors_post ) {
        $output .= '<li><a href="' . get_permalink( $authors_post->ID ) . '">' . apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . '</a></li>';
    }
    $output .= '</ul>';

    return $output;

}

我想不出任何建议会有所帮助。先感谢您。

4

1 回答 1

1

如果将 添加h2到函数中,则可以通过添加 if 语句来检查是否有任何作者帖子来控制整个输出。

function get_related_author_posts() {
    global $authordata, $post;

    $authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 5 ) );

    if( ! $authors_posts ) {
        return;
    } 

    $output = '<h2>Recent Blog Articles</h2>';
    $output .= ' <ul style="list-style: none;">';
    foreach ( $authors_posts as $authors_post ) {
        $output .= '<li><a href="' . get_permalink( $authors_post->ID ) . '">' . apply_filters( 'the_title', $authors_post->post_title, $authors_post->ID ) . '</a></li>';
    }
    $output .= '</ul>';

    return $output;

}
于 2013-03-07T17:40:56.027 回答