bbp_fix_post_author( array $data = array(), array $postarr = array() )
Fix post author id on post save
Description
When a logged in user changes the status of an anonymous reply or topic, or edits it, the post_author field is set to the logged in user’s id. This function fixes that.
Parameters
- $data
-
(Optional) Post data
Default value: array()
- $postarr
-
(Optional) Original post array (includes post id)
Default value: array()
Return
(array) Data
Source
File: bp-forums/common/functions.php
348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | function bbp_fix_post_author( $data = array (), $postarr = array () ) { // Post is not being updated or the post_author is already 0, return if ( empty ( $postarr [ 'ID' ] ) || empty ( $data [ 'post_author' ] ) ) return $data ; // Post is not a topic or reply, return if ( !in_array( $data [ 'post_type' ], array ( bbp_get_topic_post_type(), bbp_get_reply_post_type() ) ) ) return $data ; // Is the post by an anonymous user? if ( ( bbp_get_topic_post_type() === $data [ 'post_type' ] && !bbp_is_topic_anonymous( $postarr [ 'ID' ] ) ) || ( bbp_get_reply_post_type() === $data [ 'post_type' ] && !bbp_is_reply_anonymous( $postarr [ 'ID' ] ) ) ) return $data ; // The post is being updated. It is a topic or a reply and is written by an anonymous user. // Set the post_author back to 0 $data [ 'post_author' ] = 0; return $data ; } |
Changelog
Version | Description |
---|---|
bbPress (r2734) | 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.