我想将结果限制为 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 ="从限制 10 中选择 * bp_activity";我检查了mysql数据库,我的ashtags位于bp_ashtags表中,但是当我打开这个表时,我看到每个主题标签都引用bp_activity表中。这个函数给了我我的buddypress活动流页面的ashtags云,所以它给了我数据库中存在的所有ahstag,相反,我想将结果限制为10 #ashtags(这是一个wordpress网站)。也就是说,我真的是一个新手,所以如果你能帮我给我整个片段来添加以及放在哪里,我对 php 编码几乎一无所知。如果您需要了解有关此代码的其他信息,请告诉我;这是一个摘录,所以我不知道我是否缺少解决方案的某些内容。提前谢谢你
是的,我必须修改函数 ls_bp_hashtags_generate_cloud(),关键是我不知道该怎么做。我尝试使用 array_slice() 和 $sql ="从限制 10 中选择 * bp_activity"; 我检查了mysql数据库,我的ashtags位于bp_ashtags表中,但是当我打开这个表时,我看到每个主题标签都引用bp_activity表中。这个函数给了我我的buddypress活动流页面的ashtags云,所以它给了我数据库中存在的所有ahstag,相反,我想将结果限制为10 #ashtags(这是一个wordpress网站)。也就是说,我真的是一个新手,所以如果你能帮我给我整个片段来添加以及放在哪里,请。