bbp_form_slug_conflict_check( string $slug, string $default )
Used to check if a Forums slug conflicts with an existing known slug.
Description
Parameters
- $slug
-
(Required)
- $default
-
(Required)
Source
File: bp-forums/admin/settings.php
function bbp_form_slug_conflict_check( $slug, $default ) {
// Only set the slugs once ver page load
static $the_core_slugs = array();
// Get the form value
$this_slug = bbp_get_form_option( $slug, $default, true );
if ( empty( $the_core_slugs ) ) {
// Slugs to check
$core_slugs = apply_filters( 'bbp_slug_conflict_check', array(
/** WordPress Core ****************************************************/
// Core Post Types
'post_base' => array( 'name' => __( 'Posts', 'buddyboss' ), 'default' => 'post', 'context' => 'WordPress' ),
'page_base' => array( 'name' => __( 'Pages', 'buddyboss' ), 'default' => 'page', 'context' => 'WordPress' ),
'revision_base' => array( 'name' => __( 'Revisions', 'buddyboss' ), 'default' => 'revision', 'context' => 'WordPress' ),
'attachment_base' => array( 'name' => __( 'Attachments', 'buddyboss' ), 'default' => 'attachment', 'context' => 'WordPress' ),
'nav_menu_base' => array( 'name' => __( 'Menus', 'buddyboss' ), 'default' => 'nav_menu_item', 'context' => 'WordPress' ),
// Post Tags
'tag_base' => array( 'name' => __( 'Tag base', 'buddyboss' ), 'default' => 'tag', 'context' => 'WordPress' ),
// Post Categories
'category_base' => array( 'name' => __( 'Category base', 'buddyboss' ), 'default' => 'category', 'context' => 'WordPress' ),
/** Forums Core ******************************************************/
// Forum archive slug
'_bbp_root_slug' => array( 'name' => __( 'Forums base', 'buddyboss' ), 'default' => 'forums', 'context' => 'Forums' ),
// Topic archive slug
'_bbp_topic_archive_slug' => array( 'name' => __( 'Discussions base', 'buddyboss' ), 'default' => 'discussions', 'context' => 'Forums' ),
// Forum slug
'_bbp_forum_slug' => array( 'name' => __( 'Forum slug', 'buddyboss' ), 'default' => 'forum', 'context' => 'Forums' ),
// Topic slug
'_bbp_topic_slug' => array( 'name' => __( 'Discussion slug', 'buddyboss' ), 'default' => 'discussion', 'context' => 'Forums' ),
// Reply slug
'_bbp_reply_slug' => array( 'name' => __( 'Reply slug', 'buddyboss' ), 'default' => 'reply', 'context' => 'Forums' ),
// User profile slug
'_bbp_user_slug' => array( 'name' => __( 'User base', 'buddyboss' ), 'default' => 'users', 'context' => 'Forums' ),
// View slug
'_bbp_view_slug' => array( 'name' => __( 'View base', 'buddyboss' ), 'default' => 'view', 'context' => 'Forums' ),
// Topic tag slug
'_bbp_topic_tag_slug' => array( 'name' => __( 'Discussion tag slug', 'buddyboss' ), 'default' => 'discussion-tag', 'context' => 'Forums' ),
) );
/** BuddyBoss Core *******************************************************/
if ( defined( 'BP_VERSION' ) ) {
$bp = buddypress();
// Loop through root slugs and check for conflict
if ( !empty( $bp->pages ) ) {
foreach ( $bp->pages as $page => $page_data ) {
$page_base = $page . '_base';
$page_title = sprintf( __( '%s page', 'buddyboss' ), $page_data->title );
$core_slugs[$page_base] = array( 'name' => $page_title, 'default' => $page_data->slug, 'context' => 'BuddyPress' );
}
}
}
// Set the static
$the_core_slugs = apply_filters( 'bbp_slug_conflict', $core_slugs );
}
// Loop through slugs to check
foreach ( $the_core_slugs as $key => $value ) {
// Get the slug
$slug_check = bbp_get_form_option( $key, $value['default'], true );
// Compare
if ( ( $slug !== $key ) && ( $slug_check === $this_slug ) ) : ?>
<span class="attention"><?php printf( esc_html__( 'Possible %1$s conflict: %2$s', 'buddyboss' ), $value['context'], '<strong>' . $value['name'] . '</strong>' ); ?></span>
<?php endif;
}
}
Changelog
| Version | Description |
|---|---|
| bbPress (r3306) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.