buddypress主题_BuddyPress入门指南:提示和资源

WordPress可能是使用最广泛的开源CMS,其中包含数千个免费主题和插件。 该软件的粉丝最有可能听说过臭名昭著的WordPress网站BuddyPress插件 。 您可以扩展功能,以包括用户个人资料页面,私人消息传递甚至用户讨论论坛。

BuddyPress本身几乎是一个庞大的社交网络库,恰好在WordPress核心之外运行。 在本文中,我们可以窥见新加入的BuddyPress用户的十个有用技巧。

我将重点介绍一些基本的安装技术,同时还包括对更详细的代码段的引用。 对于希望在BuddyPress中玩转并了解其功能的新用户来说,这是一个很好的指南。

在跳入列表之前,我将提供简要概述, 解释 BuddyPress中的某些功能 许多初次使用BuddyPress和bbPress论坛的用户会感到困惑。 请允许我Swift澄清这些想法。

BuddyPress和bbPress之间的区别

BuddyPress是这两个在2008年针对WordPress发布的工具中的第一个。该插件一直是开源的,它在用户的贡献上蒸蒸日上。 您可以在“关于”页面上了解有关BuddyPress核心功能的更多信息。

大多数人没有意识到的是BuddyPress实际上是与bbPress打包在一起的。 这意味着,如果您将BuddyPress安装到您的网站中,它将包括与独立bbPress插件相同的所有功能。 开发团队由许多相同的人组成,并且这两个插件都已经开发了几年。

buddypress主题_BuddyPress入门指南:提示和资源_第1张图片

buddypress主题_BuddyPress入门指南:提示和资源_第2张图片
(图片来源: ernohannink )

在本指南中,我将主要侧重于BuddyPress功能,但我也为bbPress用户提供了一些很棒的技巧。 如果可以简化这些功能,则可以将它们视为一个软件包。

BuddyPress不需要bbPress论坛即可运行,因为它们是可选设置。 如果您想比较其他差异,请查看此论坛主题 。

1.安装和配置BuddyPress

对于从未经历过使用BuddyPress核心过程的WordPress用户,那么本文适合您。 WPTuts +的Adam Murray撰写了精彩的系列文章,重点介绍了为新用户安装和自定义 BuddyPress。

本演练教程是学习系统的最佳方法,而无需您自己独自潜入。 您可以了解BuddyPress的主要功能以及WordPress管理面板中的许多各种选项。

有大量的资源和BP功能需要研究,包括私人消息传递,活动流,用户博客,扩展的个人资料等等。

Adam还讨论了一些更深入的自定义设置,例如设置组和自定义主题。 BuddyPress有自己的核心文件,可以利用其他插件和主题! 绝对是一些对初学者有用的知识。

2.了解bp-custom.php

WordPress开发人员最熟悉自定义主题文件functions.php 这样,您就可以复制和粘贴PHP代码,从而更改WordPress核心中的设置,而无需实际更改核心文件。 BuddyPress使用名为bp-custom.php的文件采用了该系统。

联机文档通过一些示例很好地解释了该文件。 基本上,您可以在插件目录 /wp-content/plugins/ 创建此文件,然后只需添加所有代码即可。 无论您当前的WordPress和BuddyPress主题如何,这些命令都会执行。

您编写的功能代码与放置在核心文件中的其他功能绑定在一起。 您可以通过使用过滤器操作来访问这些挂钩,就像在WordPress内部一样。

在BuddyPress中建立足够的时间后,您将开始记住变量名称和方法调用。 这是在没有太多经验的情况下自定义论坛的绝妙技巧。

3.开发BuddyPress主题

这一系列的模板文章分为三个不同的部分,全部由亚当·默里(Adam Murray)撰写,他写了我们较早的入门教程。 尽管关于BuddyPress的主题可能还有其他指南,但我还是觉得Adam对于初学者来说会更详细。

buddypress主题_BuddyPress入门指南:提示和资源_第3张图片

buddypress主题_BuddyPress入门指南:提示和资源_第4张图片

如果您只是入门,那么可以从这三部分的社论中学到的技巧非常了不起。 如果您已经熟悉开发WordPress主题,那么大多数代码将看起来很熟悉。

您应该调用类似的函数,例如the_content()the_category() 但是BuddyPress显然具有其自己的一组与用户个人资料进行交互的功能和方法。

内容分为多个循环,通常是PHP / SQL查询从数据库检索内容。 您可能将这些循环视为BuddyPress内部的某些不同页面。

这些页面循环可以引用用户配置文件,组列表,成员列表,论坛主题,私人消息或类似内容。 这些概念都与WordPress有关,因此,如果您已经了解了这一知识领域,那么BuddyPress的主题设置就不会太有挑战性。

4.自定义bbPress主题的分步指南

与BuddyPress主题类似,您也可以构建自己的自定义bbPress主题。 我在他们的文档中找到了有关bbPress主题的在线指南 ,它提供了一个很好的参考点。

buddypress主题_BuddyPress入门指南:提示和资源_第5张图片

buddypress主题_BuddyPress入门指南:提示和资源_第6张图片

当前指南是针对bbPress 2.0.2主题编写的,截至本文为止,最新版本是bbPress 2.2。 但是,这些主题仍然适用,您可以快速学习所有基本概念。 bbPress的主题比BuddyPress的主题简单得多,因为您只关注论坛区域 (可能还包括用户个人资料)。

文档中提到的另一个选项是创建bbPress 子主题 。 这将以一个已经存在的主题为基础,并且仅在模板中使用您的特定自定义设置。 通常,此方法要容易得多,这样您就不必从头开始编写整个主题布局。

5.更新BuddyPress用户个人资料链接

首次安装BuddyPress时,您会注意到典型的用户配置文件链接实际上指向WordPress仪表板。 您可以在插件的设置页面中自定义此选项,在该页面中您会看到“登录链接”。

需要编辑第二个定位标记以匹配您的自定义成员URL。 默认情况下,BuddyPress遵循可更新的模式http://yoursite.com/members/username/ 但是要使此链接正确显示,您需要将第二个锚点更改为如下所示:

Profile

6.从成员目录列表中排除用户

有时您可能希望在BuddyPress公开列表中隐藏某些成员。 这可能包括朋友页面,甚至搜索成员。 可能只有一些想法会隐藏您为测试新功能而创建的管理员帐户,主持人或伪造帐户。

我已经复制了一个代码段,您可以将其放在bp-custom.php文件中。 您只需要编辑$excluded_user ID变量列表即可。 这个小技巧来自Brajesh Singh的博客BuddyDev。

add_action('bp_ajax_querystring','bpdev_exclude_users',20,2);
function bpdev_exclude_users($qs=false,$object=false){
 //list of users to exclude
 
 $excluded_user='1,2,3';//comma separated ids of users whom you want to exclude
 
 if($object!='members')//hide for members only
 return $qs;
 
 $args=wp_parse_args($qs);
 
 //check if we are searching  or we are listing friends?, do not exclude in this case
 if(!empty($args['user_id'])||!empty($args['search_terms']))
 return $qs;
 
 if(!empty($args['exclude']))
 $args['exclude']=$args['exclude'].','.$excluded_user;
 else
 $args['exclude']=$excluded_user;
 
 $qs=build_query($args);
 
 return $qs;
}

7.注册页面的自定义成员重定向

当您的用户登录并尝试访问注册页面时,BuddyPress会将其发送给成员列表。 这种影响是由核心注册文件中的少量代码引起的。 但是,我们可以使用过滤器将用户重定向到自定义页面上,而不是破解内核

将以下代码复制到您自己的WordPress中的bp-custom.php或functions.php中。 通常最好将bbPress / BuddyPress代码与WordPress代码分开。 但是这里所有PHP都非常简单,您需要自定义的只是$redirect_to变量。

function bbg_bp_loggedin_register_page_redirect_to( $redirect_to ) {
    if ( bp_is_component_front_page( 'register' ) )
        $redirect_to = bp_get_root_domain() . '/home';

    return $redirect_to;
}
add_filter( 'bp_loggedin_register_page_redirect_to', 'bbg_bp_loggedin_register_page_redirect_to' );

8.重新排序BuddyPress默认配置文件链接

BuddyPress将为模板中的每个链接设置导航菜单位置。 这些链接包括“用户个人资料”,“活动”,“朋友”,“消息”和其他BuddyPress功能。 通过创建绑定到bp_setup_nav的自定义操作,您可以编辑这些位置值以重新排列导航链接。

我在此StackExchange线程中找到了一个极好的解决方案,概述了如何设置位置数组值。 我已经复制了下面的基本代码; 请随意自定义和编辑这些值以适合您自己的需求。 这可以从您的BuddyPress bp-custom.php文件以及WordPress主题的functions.php完美运行。

function bbg_change_profile_tab_order() {
global $bp;

    $bp->bp_nav['profile']['position'] = 10;
    $bp->bp_nav['activity']['position'] = 20;
    $bp->bp_nav['blogs']['position'] = 30;
    $bp->bp_nav['friends']['position'] = 40;
    $bp->bp_nav['messages']['position'] = 50;
    $bp->bp_nav['groups']['position'] = 60;
    $bp->bp_nav['settings']['position'] = 70;
}
add_action('bp_setup_nav', 'bbg_change_profile_tab_order', 999 );

9.显示用户开始的帖子总数和主题

bbPress论坛从一开始就是非常通用的。 这并不意味着您不能自定义自己的样式,而是意味着您将进行大量的研究和繁琐的编码工作。

此代码段将显示每个用户的论坛帖子总数和已启动的论坛主题。 这是您在整个网络的论坛上都能找到的典型指标,因此在BuddyPress用户个人资料上也期望这些数字很普遍。

我在2009年的一篇博客文章中找到了这小部分代码。 这些代码非常简单,根据当前的概要文件ID从数据库中提取两个唯一SQL查询。 只需找到bb_profile_data(); 在您的模板中,并将其替换为:


".$bbdb->get_var($query1)."   "; echo " Topics Started: ".$bbdb->get_var($query2).""; ?>

10.覆盖默认的BuddyPress头像

自定义用户头像是大多数开发人员期望在任何CMS中使用的常规功能。 WordPress允许作者​​和用户使用此功能,但不能很好地转移到BuddyPress中。 另外,您可能希望基于WordPress和BuddyPress设置两个不同的头像。

使用这段代码,您可以覆盖BuddyPress用户的默认头像照片,并将其替换为新的URL。 请注意,这只会显示在尚未自定义头像的成员上。 只需将以下代码添加到bp-custom.php文件中,并确保更新my_default_avatar_url()函数,以便它为您的新默认图像返回正确的URL。

/**
 * Disable Gravatar throughout BP
 */
add_filter( 'bp_core_fetch_avatar_no_grav', '__return_true' );

/**
 * Provide a global user avatar default
 */
function my_default_avatar_url() {
    return 'http://mysite.com/images/static/avatar.jpg';
}
add_filter( 'bp_core_default_avatar_user', 'my_default_avatar_url' );

其他有用的材料

  • bbPress论坛入门
  • 12个惊人的Buddypress主题和入门指南

最后的想法

我希望本指南可以对新的BuddyPress和bbPress用户有所帮助。 管理您自己的博客可能是一项艰巨的工作,更不用说整个用户群和社区了。 熟悉BuddyPress可能需要数小时的练习和编码,以使安装正确进行。 如果您迷路了,可以在BuddyPress支持论坛中发布问题,与开发人员和其他知识渊博的团队成员聊天。


翻译自: https://www.hongkiat.com/blog/buddypress-tips-resources/

你可能感兴趣的:(buddypress主题_BuddyPress入门指南:提示和资源)