Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: wp_privacy_personal_data_erasers

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 3 times in this file.

Line Code
998      }
999
1000      $request = wp_get_user_request_data( $request_id );
1001
1002      if ( ! $request || 'remove_personal_data' !== $request->action_name ) {
1003           wp_send_json_error( __( 'Invalid request ID when processing eraser data.' ) );
1004      }
1005
1006      /** This filter is documented in wp-admin/includes/ajax-actions.php */
1007      $erasers        = apply_filters( 'wp_privacy_personal_data_erasers', array() );
1008      $is_last_eraser = count( $erasers ) === $eraser_index;
1009      $eraser_done    = $response['done'];
1010
1011      if ( ! $is_last_eraser || ! $eraser_done ) {
1012           return $response;
1013      }
1014
1015      _wp_privacy_completed_request( $request_id );
1016
 
Line Code
1632       * @return string Email column markup.
1633       */
1634      public function column_email( $item ) {
1635           $row_actions = array();
1636
1637           // Allow the administrator to "force remove" the personal data even if confirmation has not yet been received.
1638           $status = $item->status;
1639           if ( 'request-confirmed' !== $status ) {
1640                /** This filter is documented in wp-admin/includes/ajax-actions.php */
1641                $erasers       = apply_filters( 'wp_privacy_personal_data_erasers', array() );
1642                $erasers_count = count( $erasers );
1643                $request_id    = $item->ID;
1644                $nonce         = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id );
1645
1646                $remove_data_markup = '<div class="remove-personal-data force-remove-personal-data" ' .
1647                     'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' .
1648                     'data-request-id="' . esc_attr( $request_id ) . '" ' .
1649                     'data-nonce="' . esc_attr( $nonce ) .
1650                     '">';
 
Line Code
1673      public function column_next_steps( $item ) {
1674           $status = $item->status;
1675
1676           switch ( $status ) {
1677                case 'request-pending':
1678                     esc_html_e( 'Waiting for confirmation' );
1679                     break;
1680                case 'request-confirmed':
1681                     /** This filter is documented in wp-admin/includes/ajax-actions.php */
1682                     $erasers       = apply_filters( 'wp_privacy_personal_data_erasers', array() );
1683                     $erasers_count = count( $erasers );
1684                     $request_id    = $item->ID;
1685                     $nonce         = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id );
1686
1687                     echo '<div class="remove-personal-data" ' .
1688                          'data-force-erase="1" ' .
1689                          'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' .
1690                          'data-request-id="' . esc_attr( $request_id ) . '" ' .
1691                          'data-nonce="' . esc_attr( $nonce ) .