Changeset 12201 for sites/trunk/wordpress.org/public_html/wp-content/plugins/photo-directory/inc/admin.php
- Timestamp:
- 11/04/2022 06:12:24 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/photo-directory/inc/admin.php
r12057 r12201 54 54 // Modify admin menu links for photo posts. 55 55 add_action( 'admin_menu', [ __CLASS__, 'modify_admin_menu_links' ] ); 56 57 // Navigate to next post after moderation. 58 add_action( 'edit_form_top', [ __CLASS__, 'show_moderation_message' ] ); 59 add_filter( 'redirect_post_location', [ __CLASS__, 'redirect_to_next_post_after_moderation' ], 5, 2 ); 56 60 } 57 61 … … 954 958 } 955 959 960 /** 961 * Outputs an admin notice when a photo post has been moderated and the 962 * moderator has been redirected to the next photo in the queue. 963 * 964 * @param WP_Post $post Post object. 965 */ 966 public static function show_moderation_message( $post ) { 967 if ( 968 empty( $_GET['photomoderated'] ) 969 || 970 empty( $_GET['photoaction'] ) 971 || 972 Registrations::get_post_type() !== get_post_type( $post ) 973 ) { 974 return; 975 } 976 977 $moderated_post = get_post( (int) $_GET['photomoderated'] ); 978 979 if ( ! $moderated_post ) { 980 return; 981 } 982 983 $message = ''; 984 $edit_link = get_edit_post_link( $moderated_post ); 985 986 switch ( $_GET['photoaction'] ) { 987 case 'approval': 988 $message = sprintf( 989 /* translators: 1: Link markup to view photo post, 2: Link markup to edit photo post. */ 990 __( 'Photo post approved. %1$s — %2$s', 'wporg-photos' ), 991 sprintf( 992 ' <a href="%s">%s</a>', 993 esc_url( get_post_permalink( $moderated_post ) ), 994 __( 'View photo post', 'wporg-photos' ) 995 ), 996 sprintf( 997 ' <a href="%s">%s</a>', 998 esc_url( $edit_link ), 999 __( 'Edit photo post', 'wporg-photos' ) 1000 ) 1001 ); 1002 break; 1003 case 'rejection': 1004 $message = sprintf( 1005 /* translators: %s: Link markup to view photo post. */ 1006 __( 'Photo post rejected. %s', 'wporg-photos' ), 1007 sprintf( 1008 ' <a href="%s">%s</a>', 1009 esc_url( $edit_link ), 1010 __( 'Edit photo post', 'wporg-photos' ) 1011 ) 1012 ); 1013 break; 1014 default: 1015 $message = ''; 1016 } 1017 1018 if ( $message ) { 1019 printf( 1020 '<div id="message" class="updated notice notice-success is-dismissible"><p>%s</p></div>', 1021 $message 1022 ); 1023 } 1024 } 1025 1026 /** 1027 * Overrides the redirect after moderating a post to load the next post in 1028 * the queue. 1029 * 1030 * Only redirects if a photo post is initially published or rejected. 1031 * 1032 * @param string $location The destination URL. 1033 * @param int $post_id The post ID. 1034 * @return string 1035 */ 1036 public static function redirect_to_next_post_after_moderation( $location, $post_id ) { 1037 $is_rejection = isset( $_POST[ Rejection::$action ] ); 1038 1039 if ( 1040 ( isset( $_POST['publish'] ) || $is_rejection ) 1041 && 1042 Registrations::get_post_type() === get_post_type( $post_id ) 1043 ) { 1044 $action = $is_rejection ? 'rejection' : 'approval'; 1045 $next_post = Posts::get_next_post_in_queue(); 1046 if ( $next_post ) { 1047 $location = add_query_arg( 'photomoderated', $post_id, get_edit_post_link( $next_post, 'url' ) ); 1048 $location = add_query_arg( 'photoaction', $action, $location ); 1049 } 1050 } 1051 1052 return $location; 1053 } 1054 956 1055 } 957 1056
Note: See TracChangeset
for help on using the changeset viewer.