限制数组的输出结果

时间:2016-03-05 06:22:54

标签: php arrays wordpress limit

我想将结果限制为10个元素(10个单词)。这是我得到的代码:

function ls_bp_hashtags_cloud() {
    $args = array () ;
    if ( bp_is_activity_component() ) {
        $toHead = __( 'Popular Hashtags across network' , 'bp-hashtags' ) ;
    }
    if ( bp_is_user_activity() ) {
        $toHead = __( 'Hashtags by user' , 'bp-hashtags' ) ;
        $args[ 'user_id' ] = bp_displayed_user_id() ;
    }
    if ( bp_is_group_activity() || bp_is_group_home() ) {
        $toHead = __( 'Hashtags in group' , 'bp-hashtags' ) ;
        $args[ 'if_activity_item_id' ] = bp_get_current_group_id() ;
    }
    echo '<div align="right"><h5>' . $toHead . '</h5>' ;
    echo ls_bp_hashtags_generate_cloud( $args ) ;
    echo '</div>' ;
}

以下是ls_bp_hashtags_generate_cloud()函数:

 function ls_bp_hashtags_generate_cloud( $args = array() ) {
    $hashtags = ls_bp_hashtags_get_hashtags( $args );
    $defaults = array(
    'smallest' => 10, 'largest' => 10, 'unit' => 'pt', 'number' => 0,
    'format' => 'flat', 'separator' => ",\n\n", 'orderby' => 'count', 'order' => 'DESC',
    'topic_count_text_callback' => 'default_topic_count_text',
    'topic_count_scale_callback' => 'default_topic_count_scale', 'filter' => 1
);
    $args = wp_parse_args( $args, $defaults );
    extract( $args );
    $tag_cloud = wp_generate_tag_cloud( $hashtags, $args );
    $tag_cloud = '<div class="hashtags">' . $tag_cloud . '</div>';

    return $tag_cloud;
}

我也得到了另一个,不确定是否需要:

function ls_bp_hashtags_get_hashtags( $args = array() ) {
    global $wpdb;
    $bp = buddypress();
    $link = $bp->root_domain . "/" . $bp->activity->slug . "/" . BP_ACTIVITY_HASHTAGS_SLUG . "/";
    bp_hashtags_set_constants();

    $data = maybe_unserialize( get_site_option( 'ls_bp_hashtags' ) );

    if ( $data['style']['show_hashsymbol'] == '1' ) {
    $hashtag_name = ' CONCAT( "#", hashtag_name)';
    } else {
    $hashtag_name = 'hashtag_name ';
    }


    $toWhere = ls_bp_hashtags_generate_query_limitations( $args );

    $results = $wpdb->get_results( 'SELECT COUNT(hashtag_name) as count, '
    . $hashtag_name . ' as name, '
    . 'CONCAT("' . $link . '", hashtag_slug) as link
    FROM ' . BP_HASHTAGS_TABLE . ' WHERE 1=1 ' . $toWhere . ' GROUP BY hashtag_name' );

    return $results;
}

我粘贴的第一个代码段位于一个文件中,而最后两个代码段位于另一个文件中。 我想我必须修改函数ls_bp_hashtags_generate_cloud(),关键是我不知道该怎么做。我尝试使用array_slice()和$ sql =“SELECT * FROM bp_activity LIMIT 10”;我检查了mysql数据库,我的ashtags位于bp_ashtags表中,但是当我打开这个表时,我看到每个hashtag被引用在bp_activity表中。 这个函数给了我我的buddypress活动流页面的ashtags云,所以它给了我数据库中存在的所有ahstag,而我想把结果限制在10个#ashtags(它是一个wordpress网站)。那说我真的是个新手,所以如果你可以帮我给我整个片段添加和放在哪里,我几乎不知道PHP编码。如果您需要了解有关此代码的其他信息,请告诉我;这个是一个提取物所以我不知道我是否遗漏了一些解决方案。提前谢谢

1 个答案:

答案 0 :(得分:0)

是的,我必须修改ls_bp_hashtags_generate_cloud()函数,关键是我不知道该怎么做。我尝试使用array_slice()和$ sql =“SELECT * FROM bp_activity LIMIT 10”;我检查了mysql数据库,我的ashtags位于bp_ashtags表中,但是当我打开这个表时,我看到每个hashtag被引用在bp_activity表中。这个函数给了我我的buddypress活动流页面的ashtags云,所以它给了我数据库中存在的所有ahstag,而我想把结果限制在10个#ashtags(它是一个wordpress网站)。那说我真的是个新手所以请你帮我给我整个片段添加和放在哪里。