wppaste
WordPress

wp_delete_attachment_files( int $post_id, array $meta, array $backup_sizes, string $file ): bool

Since
4.9.7
Source
wp-includes/post.php:6918
Deletes all files that belong to the given attachment.

Compatibility

WordPress
since 4.9.7
PHP
7.4–8.6-dev
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.

Parameters

$post_idint
Attachment ID.
$metaarray
The attachment's meta data.
$backup_sizesarray
The meta data for the attachment's backup images.
$filestring
Absolute path to the attachment's file.

Return value

bool
True on success, false on failure.

Performance profile

How much work a call to wp_delete_attachment_files() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.

Cost class
Heavy

Reaches the database via ->get_row().

Scaling
Scales with input

The body loops, so the work grows with what you pass in.

Instructions
29–130

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 259.

Plugin surface
None

Nothing here hands control to plugin code.

Called by
1

1 place in core call this, so the cost is paid more often than your own code shows.

What it touches

  • sqldatabase query->get_row()called directly

Further down the call graph this can also reach hook, option, cache, serialize, query and transient. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.

What one call costs · 105 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost wp_delete_attachment_files() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
empty($meta) && !is_array($backup_sizes)29–37wp_get_upload_dir(), wp_delete_file_from_directory()
!empty($intermediate_dir) && !is_array($backup_sizes)39–47wp_get_upload_dir(), wp_basename(), wp_delete_file_from_directory()
empty($meta)40–49wp_get_upload_dir(), path_join(), wp_delete_file_from_directory()
!is_array($backup_sizes)47–59wp_get_upload_dir(), path_join(), wp_basename(), wp_delete_file_from_directory()
->get_row() && !is_array($backup_sizes)49–57wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_delete_file_from_directory()
!empty($intermediate_dir) && is_array($backup_sizes)50–59wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($intermediate_dir) && !is_array($backup_sizes)51–60wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($intermediate_dir) && empty($original_image) && empty($source_image) && !is_array($backup_sizes)52–57wp_get_upload_dir(), wp_basename(), wp_basename(), wp_delete_file_from_directory()
empty($meta) && isset($meta) && is_array($backup_sizes)54–61wp_get_upload_dir(), path_join(), path_join(), wp_delete_file_from_directory()
is_array($backup_sizes)58–71wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!is_array($backup_sizes)59–72wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && !is_array($backup_sizes)59–67wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), wp_delete_file_from_directory()
93 further outcomes, up to 130 instructions
empty($original_image) && empty($source_image) && !is_array($backup_sizes)60–65wp_get_upload_dir(), wp_basename(), path_join(), wp_basename(), wp_delete_file_from_directory()
empty($original_image) && !empty($intermediate_dir) && empty($source_image) && !is_array($backup_sizes)60–69wp_get_upload_dir(), path_join(), wp_basename(), wp_basename(), wp_delete_file_from_directory()
->get_row() && is_array($backup_sizes)60–69wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && !is_array($backup_sizes)61–67wp_get_upload_dir(), path_join(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($intermediate_dir) && is_array($backup_sizes)62–72wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($intermediate_dir) && empty($original_image) && empty($source_image) && is_array($backup_sizes)63–69wp_get_upload_dir(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($intermediate_dir) && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)64–70wp_get_upload_dir(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($intermediate_dir) && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)64–70wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && !is_array($backup_sizes)67–75wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), wp_delete_file_from_directory()
empty($intermediate_dir) && empty($original_image) && empty($source_image) && !is_array($backup_sizes)68–77wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_basename(), wp_delete_file_from_directory()
is_array($backup_sizes)70–84wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && is_array($backup_sizes)70–79wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory()
empty($original_image) && empty($source_image) && is_array($backup_sizes)71–77wp_get_upload_dir(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
empty($original_image) && !empty($intermediate_dir) && empty($source_image) && is_array($backup_sizes)71–81wp_get_upload_dir(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && !is_array($backup_sizes)71–80wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && is_array($backup_sizes)72–79wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
empty($original_image) && !empty($source_image) && !is_array($backup_sizes)72–78wp_get_upload_dir(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($original_image) && empty($source_image) && !is_array($backup_sizes)72–78wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), wp_delete_file_from_directory()
empty($original_image) && !empty($intermediate_dir) && !empty($source_image) && !is_array($backup_sizes)72–82wp_get_upload_dir(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($original_image) && !empty($intermediate_dir) && empty($source_image) && !is_array($backup_sizes)72–82wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && empty($original_image) && empty($source_image) && !is_array($backup_sizes)72–77wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), wp_basename(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && !is_array($backup_sizes)73–80wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
isset($meta) && empty($original_image) && empty($source_image) && !is_array($backup_sizes)74–77wp_get_upload_dir(), path_join(), path_join(), wp_basename(), wp_basename(), wp_delete_file_from_directory()
!empty($intermediate_dir) && empty($original_image) && !empty($source_image) && is_array($backup_sizes)75–82wp_get_upload_dir(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($intermediate_dir) && !empty($original_image) && empty($source_image) && is_array($backup_sizes)75–82wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)76–83wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && is_array($backup_sizes)78–87wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
empty($intermediate_dir) && empty($original_image) && empty($source_image) && is_array($backup_sizes)79–89wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && !is_array($backup_sizes)79–88wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
empty($intermediate_dir) && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)80–90wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
empty($intermediate_dir) && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)80–90wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && empty($source_image) && !is_array($backup_sizes)80–85wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && empty($source_image) && !is_array($backup_sizes)80–85wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), wp_basename(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && empty($original_image) && empty($source_image) && !is_array($backup_sizes)82–85wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && is_array($backup_sizes)82–92wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
empty($original_image) && !empty($source_image) && is_array($backup_sizes)83–90wp_get_upload_dir(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($original_image) && empty($source_image) && is_array($backup_sizes)83–90wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
empty($original_image) && !empty($intermediate_dir) && !empty($source_image) && is_array($backup_sizes)83–94wp_get_upload_dir(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($original_image) && !empty($intermediate_dir) && empty($source_image) && is_array($backup_sizes)83–94wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && empty($original_image) && empty($source_image) && is_array($backup_sizes)83–89wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && is_array($backup_sizes)84–92wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($original_image) && !empty($source_image) && !is_array($backup_sizes)84–91wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($original_image) && !empty($intermediate_dir) && !empty($source_image) && !is_array($backup_sizes)84–95wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)84–90wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)84–90wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), wp_delete_file_from_directory()
isset($meta) && empty($original_image) && empty($source_image) && is_array($backup_sizes)85–89wp_get_upload_dir(), path_join(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)86–90wp_get_upload_dir(), path_join(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
isset($meta) && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)86–90wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), wp_delete_file_from_directory()
!empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)87–95wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && empty($original_image) && empty($source_image) && !is_array($backup_sizes)88–93wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && is_array($backup_sizes)90–100wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
empty($intermediate_dir) && empty($original_image) && !empty($source_image) && is_array($backup_sizes)91–102wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
empty($intermediate_dir) && !empty($original_image) && empty($source_image) && is_array($backup_sizes)91–102wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && empty($source_image) && is_array($backup_sizes)91–97wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && empty($source_image) && is_array($backup_sizes)91–97wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory()
empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)92–103wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)92–98wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)92–98wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)92–98wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)92–98wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && empty($original_image) && empty($source_image) && is_array($backup_sizes)93–97wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)94–98wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)94–98wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), wp_delete_file_from_directory()
!empty($original_image) && !empty($source_image) && is_array($backup_sizes)95–103wp_get_upload_dir(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($original_image) && !empty($intermediate_dir) && !empty($source_image) && is_array($backup_sizes)95–107wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && empty($original_image) && !empty($source_image) && is_array($backup_sizes)95–102wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && !empty($original_image) && empty($source_image) && is_array($backup_sizes)95–102wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)96–103wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
isset($meta) && empty($original_image) && !empty($source_image) && is_array($backup_sizes)97–102wp_get_upload_dir(), path_join(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
isset($meta) && !empty($original_image) && empty($source_image) && is_array($backup_sizes)97–102wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory()
isset($meta) && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)98–103wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && empty($original_image) && empty($source_image) && is_array($backup_sizes)99–105wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && empty($original_image) && !empty($source_image) && !is_array($backup_sizes)100–106wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && !empty($original_image) && empty($source_image) && !is_array($backup_sizes)100–105wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), wp_delete_file_from_directory()
empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)103–115wp_get_upload_dir(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && !empty($source_image) && is_array($backup_sizes)103–110wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && empty($source_image) && is_array($backup_sizes)103–110wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($original_image) && !empty($source_image) && is_array($backup_sizes)103–110wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && empty($source_image) && is_array($backup_sizes)103–110wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)104–111wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)104–111wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && empty($original_image) && !empty($source_image) && is_array($backup_sizes)105–110wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && !empty($original_image) && empty($source_image) && is_array($backup_sizes)105–110wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)106–111wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)107–115wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
isset($meta) && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)109–115wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && empty($original_image) && !empty($source_image) && is_array($backup_sizes)111–118wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && !empty($original_image) && empty($source_image) && is_array($backup_sizes)111–117wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && !is_array($backup_sizes)112–118wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)115–123wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)115–123wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
isset($meta) && empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)117–123wp_get_upload_dir(), path_join(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()
!empty($meta) && ->get_row() && empty($intermediate_dir) && !empty($original_image) && !empty($source_image) && is_array($backup_sizes)123–130wp_get_upload_dir(), ->esc_like(), ->prepare(), ->get_row(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_basename(), path_join(), wp_delete_file_from_directory(), path_join(), wp_delete_file_from_directory()

This body has more branch combinations than are worth enumerating, so the table covers the outcomes found first rather than every one that exists.

Across PHP versions

PHPCompiledExecutedBranchesNotes
8.6-dev25929–13032
8.525929–13032
8.425929–1303232 fewer instructions than PHP 8.3
8.329129–14432
8.229129–14432
8.129129–14432
7.429129–14432

An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.

Uses · 4

Used by · 1

Source code

function wp_delete_attachment_files( $post_id, $meta, $backup_sizes, $file ) {	global $wpdb; 	$uploadpath = wp_get_upload_dir();	$deleted    = true; 	if ( ! empty( $meta['thumb'] ) ) {		// Don't delete the thumb if another attachment uses it.		if ( ! $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE %s AND post_id <> %d", '%' . $wpdb->esc_like( $meta['thumb'] ) . '%', $post_id ) ) ) {			$thumbfile = str_replace( wp_basename( $file ), $meta['thumb'], $file ); 			if ( ! empty( $thumbfile ) ) {				$thumbfile = path_join( $uploadpath['basedir'], $thumbfile );				$thumbdir  = path_join( $uploadpath['basedir'], dirname( $file ) ); 				if ( ! wp_delete_file_from_directory( $thumbfile, $thumbdir ) ) {					$deleted = false;				}			}		}	} 	// Remove intermediate and backup images if there are any.	if ( isset( $meta['sizes'] ) && is_array( $meta['sizes'] ) ) {		$intermediate_dir = path_join( $uploadpath['basedir'], dirname( $file ) ); 		foreach ( $meta['sizes'] as $size => $sizeinfo ) {			$intermediate_file = str_replace( wp_basename( $file ), $sizeinfo['file'], $file ); 			if ( ! empty( $intermediate_file ) ) {				$intermediate_file = path_join( $uploadpath['basedir'], $intermediate_file ); 				if ( ! wp_delete_file_from_directory( $intermediate_file, $intermediate_dir ) ) {					$deleted = false;				}			}		}	} 	if ( ! empty( $meta['original_image'] ) ) {		if ( empty( $intermediate_dir ) ) {			$intermediate_dir = path_join( $uploadpath['basedir'], dirname( $file ) );		} 		$original_image = str_replace( wp_basename( $file ), $meta['original_image'], $file ); 		if ( ! empty( $original_image ) ) {			$original_image = path_join( $uploadpath['basedir'], $original_image ); 			if ( ! wp_delete_file_from_directory( $original_image, $intermediate_dir ) ) {				$deleted = false;			}		}	} 	/*	 * Delete the source-format companion file. The client-side media flow can	 * sideload a source-format original (such as a HEIC file) alongside a	 * web-viewable derivative, recording its filename under the 'source_image'	 * key. This is kept separate from 'original_image', which continues to	 * point at the derivative.	 */	if ( ! empty( $meta['source_image'] ) && is_string( $meta['source_image'] ) ) {		if ( empty( $intermediate_dir ) ) {			$intermediate_dir = path_join( $uploadpath['basedir'], dirname( $file ) );		} 		$source_image = str_replace( wp_basename( $file ), $meta['source_image'], $file ); 		if ( ! empty( $source_image ) ) {			$source_image = path_join( $uploadpath['basedir'], $source_image ); 			if ( ! wp_delete_file_from_directory( $source_image, $intermediate_dir ) ) {				$deleted = false;			}		}	} 	/*	 * Delete the animated-GIF video companions. When the client-side media flow

Changelog

Introduced in 4.9.7. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/post.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.