Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
09/21/2020 01:09:16 AM (5 years ago)
Author:
imath
Message:

BP Types: introduce type metadata registration & add a Member type one

  • Introduces the bp_register_type_meta() function to register metadata for the Type taxonomies.
  • Introduces the bp_get_type_metadata_schema() to get common to all types metadata properties.
  • Adds the bp_register_type_metadata hook. Hook to it to register the Member type metadata.
  • Introduces the bp_get_default_taxonomies() to list the BuddyPress default taxonomies (BP Email & Member Type taxonomies).
  • Improves bp_register_default_taxonomies() so that it use the previous point new function.
  • Adds labels and arguments to the Member Type taxonomy.
  • Introduces the bp_get_taxonomy_common_args() to retrieve common BP Taxonomy arguments.
  • Introduces the bp_get_email_tax_type_args() & bp_get_member_type_tax_args() so that the BP Email & the Member type taxonomies use it to retrieve its arguments enjoying the previous point new function.

Props mercime, DJPaul, dcavins, boonebgorges, tw2113, sbrajesh

See #7179
See #7181

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-members/bp-members-functions.php

    r12694 r12728  
    26472647
    26482648/**
     2649 * Returns labels used by the member type taxonomy.
     2650 *
     2651 * @since 7.0.0
     2652 *
     2653 * @return array
     2654 */
     2655function bp_get_member_type_tax_labels() {
     2656
     2657    /**
     2658     * Filters Member type taxonomy labels.
     2659     *
     2660     * @since 7.0.0
     2661     *
     2662     * @param array $value Associative array (name => label).
     2663     */
     2664    return apply_filters(
     2665        'bp_get_member_type_tax_labels',
     2666        array(
     2667            'name'                       => _x( 'Member types', 'Member type taxonomy name', 'buddypress' ),
     2668            'singular_name'              => _x( 'Member type', 'Member type taxonomy singular name', 'buddypress' ),
     2669            'search_items'               => _x( 'Search Member types', 'Member type taxonomy search items label', 'buddypress' ),
     2670            'popular_items'              => _x( 'Most used Member types', 'Member type taxonomy popular items label', 'buddypress' ),
     2671            'all_items'                  => _x( 'All Member types', 'Member type taxonomy all items label', 'buddypress' ),
     2672            'edit_item'                  => _x( 'Edit Member type', 'Member type taxonomy edit item label', 'buddypress' ),
     2673            'view_item'                  => _x( 'View Member type', 'Member type taxonomy view item label', 'buddypress' ),
     2674            'update_item'                => _x( 'Update Member type', 'Member type taxonomy update item label', 'buddypress' ),
     2675            'add_new_item'               => _x( 'Add new Member type', 'Member type taxonomy add new item label', 'buddypress' ),
     2676            'new_item_name'              => _x( 'New Member type name', 'Member type taxonomy new item name label', 'buddypress' ),
     2677            'separate_items_with_commas' => _x( 'Separate Member types with commas', 'Member type taxonomy separate items with commas label', 'buddypress' ),
     2678            'add_or_remove_items'        => _x( 'Add or remove Member types', 'Member type taxonomy add or remove items label', 'buddypress' ),
     2679            'choose_from_most_used'      => _x( 'Choose from the most used Member types', 'Member type taxonomy choose from most used label', 'buddypress' ),
     2680            'not_found'                  => _x( 'No Member types found', 'Member type taxonomy not found label', 'buddypress' ),
     2681            'no_terms'                   => _x( 'No Member types', 'Member type taxonomy no terms label', 'buddypress' ),
     2682            'items_list_navigation'      => _x( 'Member types list navigation', 'Member type taxonomy items list navigation label', 'buddypress' ),
     2683            'items_list'                 => _x( 'Member types list', 'Member type taxonomy items list label', 'buddypress' ),
     2684            'back_to_items'              => _x( 'Back to all Member types', 'Member type taxonomy back to items label', 'buddypress' ),
     2685            // Specific to BuddyPress.
     2686            'bp_type_id_label'           => _x( 'Member Type ID', 'BP Member type ID label', 'buddypress' ),
     2687            'bp_type_id_description'     => _x( 'Enter a lower-case string without spaces or special characters (used internally to identify the member type).', 'BP Member type ID description', 'buddypress' ),
     2688        )
     2689    );
     2690}
     2691
     2692/**
     2693 * Returns arguments used by the Member type taxonomy.
     2694 *
     2695 * @since 7.0.0
     2696 *
     2697 * @return array
     2698 */
     2699function bp_get_member_type_tax_args() {
     2700
     2701    /**
     2702     * Filters Member type taxonomy args.
     2703     *
     2704     * @since 7.0.0
     2705     *
     2706     * @param array $value Associative array (key => arg).
     2707     */
     2708    return apply_filters(
     2709        'bp_get_member_type_tax_args',
     2710        array_merge(
     2711            array(
     2712                'description' => _x( 'BuddyPress Member types', 'Member type taxonomy description', 'buddypress' ),
     2713                'labels'      => array_merge( bp_get_member_type_tax_labels(), bp_get_taxonomy_common_labels() ),
     2714            ),
     2715            bp_get_taxonomy_common_args()
     2716        )
     2717    );
     2718}
     2719
     2720/**
     2721 * Registers the Member type metadata.
     2722 *
     2723 * @since 7.0.0
     2724 */
     2725function bp_register_member_type_metadata() {
     2726    $type_taxonomy = bp_get_member_type_tax_name();
     2727
     2728    foreach ( bp_get_type_metadata_schema( false, $type_taxonomy ) as $meta_key => $meta_args ) {
     2729        bp_register_type_meta( $type_taxonomy, $meta_key, $meta_args );
     2730    }
     2731}
     2732add_action( 'bp_register_type_metadata', 'bp_register_member_type_metadata' );
     2733
     2734/**
    26492735 * Register a member type.
    26502736 *
Note: See TracChangeset for help on using the changeset viewer.