将自定义选项卡添加到群组目录

将自定义选项卡添加到群组目录

Codex Home → Add Custom Tab to Groups Directory
Add Custom Tab to Groups Directory

This is an example of how to add a custom tab to the Groups Directory.
And call a custom template when that tab is clicked.
The same approach can be used to add a custom tab to the Members Directory.
The tab will be called Custom and it will load a template called groups-custom.php.
?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879// add Custom tab on Groups Pagefunction asdf_groups_custom_tab() {     if ( bp_is_current_action( ‘custom’ ) )         return;     $button_args = array(        ‘id’         => ‘groups-custom’,        ‘component’  => ‘groups’,        ‘link_text’  => __( ‘Custom’, ‘buddypress’ ),        ‘link_title’ => __( ‘Custom’, ‘buddypress’ ),        ‘link_class’ => ‘group-custom no-ajax’,        ‘link_href’  => trailingslashit( bp_get_groups_directory_permalink() . ‘custom’ ),        ‘wrapper’    => false,        ‘block_self’ => false,    );           ?>    

  •      0,            ‘post_title’     => ‘Groups Custom’,            ‘post_author’    => 0,            ‘post_date’      => 0,            ‘post_content’   => ”,            ‘post_type’      => ‘page’,            ‘post_status’    => ‘publish’,            ‘is_page’        => true,            ‘comment_status’ => ‘closed’        ) );    }     public function create_content() {        return bp_buffer_template_part( ‘groups/groups-custom’, null, false );    } }
    This example assumes that the groups-custom.php template is in your theme at this location:
    …/wp-content/themes/your-theme/buddypress/groups/groups-custom.php
    If you want to load the template from a plugin, you need to register the location of the template:
    ?12345678910111213// add path to plugin templatesfunction asdf_register_template_location() {    return dirname( __FILE__ ) . ‘/templates/’;}  function asdf_template_start() {     if( function_exists( ‘bp_register_template_stack’ ) )        bp_register_template_stack( ‘asdf_register_template_location’ ); }add_action( ‘bp_init’, ‘asdf_template_start’ );
    More info about using BP Theme Compat in plugins.

    上次修改 2021.12.31