bp_blogs_post_pre_publish( bool $return = true, int $blog_id, int $post_id, int $user_id )
Check whether the current activity about a post or a comment can be published.
Description
Abstracted from the deprecated bp_blogs_record_post().
Parameters
- $return
-
(Optional) Whether the post should be published.
Default value: true
- $blog_id
-
(Required) ID of the blog.
- $post_id
-
(Required) ID of the post.
- $user_id
-
(Required) ID of the post author.
Return
(bool) True to authorize the post to be published, otherwise false.
Source
File: bp-blogs/bp-blogs-filters.php
function bp_blogs_post_pre_publish( $return = true, $blog_id = 0, $post_id = 0, $user_id = 0 ) {
$bp = buddypress();
// If blog is not trackable, do not record the activity.
if ( ! bp_blogs_is_blog_trackable( $blog_id, $user_id ) ) {
return false;
}
/*
* Stop infinite loops with WordPress MU Sitewide Tags.
* That plugin changed the way its settings were stored at some point. Thus the dual check.
*/
$sitewide_tags_blog_settings = bp_core_get_root_option( 'sitewide_tags_blog' );
if ( ! empty( $sitewide_tags_blog_settings ) ) {
$st_options = maybe_unserialize( $sitewide_tags_blog_settings );
$tags_blog_id = isset( $st_options['tags_blog_id'] ) ? $st_options['tags_blog_id'] : 0;
} else {
$tags_blog_id = bp_core_get_root_option( 'sitewide_tags_blog' );
$tags_blog_id = intval( $tags_blog_id );
}
/**
* Filters whether or not BuddyPress should block sitewide tags activity.
*
* @since BuddyPress 2.2.0
*
* @param bool $value Current status of the sitewide tags activity.
*/
if ( (int) $blog_id == $tags_blog_id && apply_filters( 'bp_blogs_block_sitewide_tags_activity', true ) ) {
return false;
}
/**
* Filters whether or not the current blog is public.
*
* @since BuddyPress 2.2.0
*
* @param int $value Value from the blog_public option for the current blog.
*/
$is_blog_public = apply_filters( 'bp_is_blog_public', (int) get_blog_option( $blog_id, 'blog_public' ) );
if ( 0 === $is_blog_public && is_multisite() ) {
return false;
}
return $return;
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.2.0 | 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.