From 1b2e6cfa1df24326d6a6bffa7339a3c7ca111dcc Mon Sep 17 00:00:00 2001 From: Gary Pendergast Date: Wed, 9 Sep 2015 06:29:09 +0000 Subject: [PATCH] Capabilities: Fall back to the `edit_posts` capability for orphaned comments. Merge of the `capabilities.php` part of [33614] to the 3.7 branch. Props pento, dd32. Fixes #33154. Built from https://develop.svn.wordpress.org/branches/3.7@33977 git-svn-id: http://core.svn.wordpress.org/branches/3.7@33946 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/capabilities.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 788e79d0e1..8df9f0ea75 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -1184,7 +1184,16 @@ function map_meta_cap( $cap, $user_id ) { if ( empty( $comment ) ) break; $post = get_post( $comment->comment_post_ID ); - $caps = map_meta_cap( 'edit_post', $user_id, $post->ID ); + + /* + * If the post doesn't exist, we have an orphaned comment. + * Fall back to the edit_posts capability, instead. + */ + if ( $post ) { + $caps = map_meta_cap( 'edit_post', $user_id, $post->ID ); + } else { + $caps = map_meta_cap( 'edit_posts', $user_id ); + } break; case 'unfiltered_upload': if ( defined('ALLOW_UNFILTERED_UPLOADS') && ALLOW_UNFILTERED_UPLOADS && ( !is_multisite() || is_super_admin( $user_id ) ) )