@@ -291,6 +300,7 @@ function wp_dashboard_right_now() {
// Posts and Pages.
foreach ( array( 'post', 'page' ) as $post_type ) {
$num_posts = wp_count_posts( $post_type );
+
if ( $num_posts && $num_posts->publish ) {
if ( 'post' === $post_type ) {
/* translators: %s: Number of posts. */
@@ -299,8 +309,10 @@ function wp_dashboard_right_now() {
/* translators: %s: Number of pages. */
$text = _n( '%s Page', '%s Pages', $num_posts->publish );
}
+
$text = sprintf( $text, number_format_i18n( $num_posts->publish ) );
$post_type_object = get_post_type_object( $post_type );
+
if ( $post_type_object && current_user_can( $post_type_object->cap->edit_posts ) ) {
printf( '
%2$s', $post_type, $text );
} else {
@@ -308,25 +320,25 @@ function wp_dashboard_right_now() {
}
}
}
+
// Comments.
$num_comm = wp_count_comments();
+
if ( $num_comm && ( $num_comm->approved || $num_comm->moderated ) ) {
/* translators: %s: Number of comments. */
$text = sprintf( _n( '%s Comment', '%s Comments', $num_comm->approved ), number_format_i18n( $num_comm->approved ) );
?>
-
+
moderated );
/* translators: %s: Number of comments. */
$text = sprintf( _n( '%s Comment in moderation', '%s Comments in moderation', $num_comm->moderated ), $moderated_comments_count_i18n );
?>
-
+
$content";
@@ -426,6 +441,7 @@ function wp_dashboard_right_now() {
*/
function wp_network_dashboard_right_now() {
$actions = array();
+
if ( current_user_can( 'create_sites' ) ) {
$actions['create-site'] = '
' . __( 'Create a New Site' ) . '';
}
@@ -515,10 +531,12 @@ function wp_dashboard_quick_press( $error_msg = false ) {
return;
}
- /* Check if a new auto-draft (= no new post_ID) is needed or if the old can be used */
+ // Check if a new auto-draft (= no new post_ID) is needed or if the old can be used.
$last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID.
+
if ( $last_post_id ) {
$post = get_post( $last_post_id );
+
if ( empty( $post ) || 'auto-draft' !== $post->post_status ) { // auto-draft doesn't exist anymore.
$post = get_default_post_to_edit( 'post', true );
update_user_option( get_current_user_id(), 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID.
@@ -528,6 +546,7 @@ function wp_dashboard_quick_press( $error_msg = false ) {
} else {
$post = get_default_post_to_edit( 'post', true );
$user_id = get_current_user_id();
+
// Don't create an option if this is a super admin who does not belong to this site.
if ( in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user_id ) ), true ) ) {
update_user_option( $user_id, 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID.
@@ -606,6 +625,7 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
}
echo '
';
+
if ( count( $drafts ) > 3 ) {
printf(
'
%s
' . "\n",
@@ -613,7 +633,9 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
__( 'View all drafts' )
);
}
- echo '
' . __( 'Your Recent Drafts' ) . "
\n
";
+
+ echo '' . __( 'Your Recent Drafts' ) . "
\n";
+ echo '';
/* translators: Maximum number of words used in a preview of a draft on the dashboard. */
$draft_length = (int) _x( '10', 'draft_length' );
@@ -622,6 +644,7 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
foreach ( $drafts as $draft ) {
$url = get_edit_post_link( $draft->ID );
$title = _draft_or_post_title( $draft->ID );
+
echo "- \n";
printf(
'',
@@ -632,13 +655,17 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
get_the_time( 'c', $draft ),
get_the_time( __( 'F j, Y' ), $draft )
);
+
$the_content = wp_trim_words( $draft->post_content, $draft_length );
+
if ( $the_content ) {
echo '
' . $the_content . '
';
}
echo " \n";
}
- echo "
\n
";
+
+ echo "\n";
+ echo '
';
}
/**
@@ -656,7 +683,6 @@ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) {
$GLOBALS['comment'] = clone $comment;
if ( $comment->comment_post_ID > 0 ) {
-
$comment_post_title = _draft_or_post_title( $comment->comment_post_ID );
$comment_post_url = get_the_permalink( $comment->comment_post_ID );
$comment_post_link = "
";
@@ -952,7 +978,8 @@ function wp_dashboard_recent_posts( $args ) {
* @param array $query_args The arguments passed to WP_Query to produce the list of posts.
*/
$query_args = apply_filters( 'dashboard_recent_posts_query_args', $query_args );
- $posts = new WP_Query( $query_args );
+
+ $posts = new WP_Query( $query_args );
if ( $posts->have_posts() ) {
@@ -970,9 +997,10 @@ function wp_dashboard_recent_posts( $args ) {
$posts->the_post();
$time = get_the_time( 'U' );
- if ( gmdate( 'Y-m-d', $time ) == $today ) {
+
+ if ( gmdate( 'Y-m-d', $time ) === $today ) {
$relative = __( 'Today' );
- } elseif ( gmdate( 'Y-m-d', $time ) == $tomorrow ) {
+ } elseif ( gmdate( 'Y-m-d', $time ) === $tomorrow ) {
$relative = __( 'Tomorrow' );
} elseif ( gmdate( 'Y', $time ) !== $year ) {
/* translators: Date and time format for recent posts on the dashboard, from a different calendar year, see https://www.php.net/manual/datetime.format.php */
@@ -1025,6 +1053,7 @@ function wp_dashboard_recent_comments( $total_items = 5 ) {
'number' => $total_items * 5,
'offset' => 0,
);
+
if ( ! current_user_can( 'edit_posts' ) ) {
$comments_query['status'] = 'approve';
}
@@ -1033,15 +1062,19 @@ function wp_dashboard_recent_comments( $total_items = 5 ) {
if ( ! is_array( $possible ) ) {
break;
}
+
foreach ( $possible as $comment ) {
if ( ! current_user_can( 'read_post', $comment->comment_post_ID ) ) {
continue;
}
+
$comments[] = $comment;
- if ( count( $comments ) == $total_items ) {
+
+ if ( count( $comments ) === $total_items ) {
break 2;
}
}
+
$comments_query['offset'] += $comments_query['number'];
$comments_query['number'] = $total_items * 10;
}
@@ -1109,16 +1142,19 @@ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = ar
if ( empty( $check_urls ) ) {
$widgets = get_option( 'dashboard_widget_options' );
+
if ( empty( $widgets[ $widget_id ]['url'] ) && ! $doing_ajax ) {
echo $loading;
return false;
}
+
$check_urls = array( $widgets[ $widget_id ]['url'] );
}
$locale = get_user_locale();
$cache_key = 'dash_v2_' . md5( $widget_id . '_' . $locale );
$output = get_transient( $cache_key );
+
if ( false !== $output ) {
echo $output;
return true;
@@ -1156,7 +1192,10 @@ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = ar
function wp_dashboard_trigger_widget_control( $widget_control_id = false ) {
global $wp_dashboard_control_callbacks;
- if ( is_scalar( $widget_control_id ) && $widget_control_id && isset( $wp_dashboard_control_callbacks[ $widget_control_id ] ) && is_callable( $wp_dashboard_control_callbacks[ $widget_control_id ] ) ) {
+ if ( is_scalar( $widget_control_id ) && $widget_control_id
+ && isset( $wp_dashboard_control_callbacks[ $widget_control_id ] )
+ && is_callable( $wp_dashboard_control_callbacks[ $widget_control_id ] )
+ ) {
call_user_func(
$wp_dashboard_control_callbacks[ $widget_control_id ],
'',
@@ -1181,6 +1220,7 @@ function wp_dashboard_trigger_widget_control( $widget_control_id = false ) {
*/
function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
$widget_options = get_option( 'dashboard_widget_options' );
+
if ( ! $widget_options ) {
$widget_options = array();
}
@@ -1209,7 +1249,9 @@ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) {
unset( $rss );
}
}
+
update_option( 'dashboard_widget_options', $widget_options );
+
$locale = get_user_locale();
$cache_key = 'dash_v2_' . md5( $widget_id . '_' . $locale );
delete_transient( $cache_key );
@@ -1554,7 +1596,9 @@ function wp_dashboard_primary_output( $widget_id, $feeds ) {
* @return true|void True if not multisite, user can't upload files, or the space check option is disabled.
*/
function wp_dashboard_quota() {
- if ( ! is_multisite() || ! current_user_can( 'upload_files' ) || get_site_option( 'upload_space_check_disabled' ) ) {
+ if ( ! is_multisite() || ! current_user_can( 'upload_files' )
+ || get_site_option( 'upload_space_check_disabled' )
+ ) {
return true;
}
@@ -1566,6 +1610,7 @@ function wp_dashboard_quota() {
} else {
$percentused = ( $used / $quota ) * 100;
}
+
$used_class = ( $percentused >= 70 ) ? ' warning' : '';
$used = round( $used, 2 );
$percentused = number_format( $percentused );
@@ -1703,6 +1748,7 @@ function wp_check_browser_version() {
$key = md5( $_SERVER['HTTP_USER_AGENT'] );
$response = get_site_transient( 'browser_' . $key );
+
if ( false === $response ) {
// Include an unmodified $wp_version.
require ABSPATH . WPINC . '/version.php';
@@ -1719,7 +1765,7 @@ function wp_check_browser_version() {
$response = wp_remote_post( $url, $options );
- if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
+ if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) {
return false;
}