wp_xmlrpc_server::_prepare_post( array $post, array $fields ): array
- Source
wp-includes/class-wp-xmlrpc-server.php:906
Compatibility
- WordPress
- core
- 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
$postarray- The unprepared post data.
$fieldsarray- The subset of post type fields to return.
Return value
array- The prepared post data.
Performance profile
How much work a call to wp_xmlrpc_server::_prepare_post() 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
- Scaling
- Scales with input
- Instructions
- 125–220
- Plugin surface
- 1 hook
- Called by
- 3
Reaches the database via get_post().
The body loops, so the work grows with what you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 234.
Third-party callbacks on 'xmlrpc_prepare_post' run inside this call, and their cost is not bounded by anything here.
3 places in core call this, so the cost is paid more often than your own code shows.
What it touches
- querycontent query
get_post()called directly - hookthird-party callbacks
apply_filters()called directly - optionoption read or write
get_option()one call below wp_xmlrpc_server::_prepare_post()
Further down the call graph this can also reach cache, serialize 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 · 96 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost wp_xmlrpc_server::_prepare_post() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
| always | 125–129 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), apply_filters() |
| always | 131–135 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), apply_filters() |
| always | 132–136 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), ->get_custom_fields(), apply_filters() |
!$fields | 132–136 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), apply_filters() |
empty($enclosures) | 136–140 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_post_meta(), apply_filters() |
| always | 138–142 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), ->get_custom_fields(), apply_filters() |
!$fields | 138–142 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), apply_filters() |
| always | 139–143 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), apply_filters() |
| always | 140–148 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
| always | 140–145 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), apply_filters() |
empty($enclosures) | 142–146 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_post_meta(), apply_filters() |
empty($enclosures) | 143–147 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
84 further outcomes, up to 220 instructions
empty($enclosures) | 143–147 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), apply_filters() |
| always | 145–149 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), apply_filters() |
| always | 146–154 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
| always | 146–151 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), apply_filters() |
| always | 147–155 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
| always | 147–155 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
| always | 147–152 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), ->get_custom_fields(), apply_filters() |
!$fields | 147–152 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), apply_filters() |
empty($enclosures) | 149–153 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 149–153 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), apply_filters() |
empty($enclosures) | 150–154 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 151–159 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
empty($enclosures) | 151–156 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_post_meta(), apply_filters() |
| always | 153–161 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
| always | 153–161 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
| always | 153–158 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), ->get_custom_fields(), apply_filters() |
!$fields | 153–158 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), apply_filters() |
| always | 154–162 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
| always | 154–159 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), apply_filters() |
| always | 155–164 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
empty($enclosures) | 156–160 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 157–165 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
empty($enclosures) | 157–162 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_post_meta(), apply_filters() |
$fields && empty($enclosures) | 158–166 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 158–166 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
empty($enclosures) | 158–163 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 158–163 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), apply_filters() |
| always | 160–168 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
| always | 160–165 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), apply_filters() |
!empty($enclosures) | 161–165 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
| always | 161–170 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
| always | 162–171 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
| always | 162–171 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
$fields && empty($enclosures) | 164–172 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 164–172 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
empty($enclosures) | 164–169 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 164–169 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), apply_filters() |
empty($enclosures) | 165–173 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 165–170 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 166–175 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
!empty($enclosures) | 167–171 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 168–172 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 168–172 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
| always | 168–177 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
| always | 168–177 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), apply_filters() |
| always | 169–178 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
empty($enclosures) | 171–179 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 171–176 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 172–181 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
$fields && empty($enclosures) | 173–182 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 173–182 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
!empty($enclosures) | 174–178 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 174–178 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 175–179 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
| always | 175–184 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), apply_filters() |
!empty($enclosures) | 176–184 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 176–181 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
$fields && empty($enclosures) | 179–188 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
empty($enclosures) | 179–188 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), apply_filters() |
empty($enclosures) | 180–189 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
!empty($enclosures) | 181–185 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 182–190 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 182–187 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
$fields && !empty($enclosures) | 183–191 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 183–191 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 183–188 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 183–188 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
empty($enclosures) | 186–195 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), apply_filters() |
$fields && !empty($enclosures) | 189–197 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 189–197 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 189–194 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 189–194 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 190–198 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 190–195 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 191–200 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 196–204 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 196–201 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 197–206 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
$fields && !empty($enclosures) | 198–207 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 198–207 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
$fields && !empty($enclosures) | 204–213 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 204–213 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 205–214 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
!empty($enclosures) | 211–220 | ->_convert_date(), ->_convert_date_gmt(), ->_convert_date(), ->_convert_date_gmt(), get_permalink(), is_sticky(), get_post_thumbnail_id(), current_theme_supports(), get_post(), ->_prepare_media_item(), get_post_format(), array_flip(), array_intersect_key(), array_merge(), get_object_taxonomies(), wp_get_object_terms(), ->get_custom_fields(), get_post_meta(), explode(), htmlspecialchars(), apply_filters() |
Across PHP versions
| PHP | Compiled | Executed | Branches | Notes |
|---|---|---|---|---|
| 8.6-dev | 234 | 125–220 | 13 | |
| 8.5 | 234 | 125–220 | 13 | |
| 8.4 | 234 | 125–220 | 13 | 21 fewer instructions than PHP 8.3 |
| 8.3 | 255 | 140–241 | 13 | |
| 8.2 | 255 | 140–241 | 13 | |
| 8.1 | 255 | 140–241 | 13 | |
| 7.4 | 255 | 140–241 | 13 |
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.
Hooks and filters fired · 1
One hook fires while wp_xmlrpc_server::_prepare_post() runs, in this order:
- apply_filters( xmlrpc_prepare_post )filterline 996 (+90 into the body)
Filters XML-RPC-prepared date for the given post.
Uses · 15
- get_permalink()Retrieves the full permalink for the current post or post ID.
- is_sticky()Determines whether a post is sticky.
- get_post_thumbnail_id()Retrieves the post thumbnail ID.
- current_theme_supports()Checks a theme's support for a given feature.
- get_post()Retrieves post data given a post ID or post object.
- get_post_format()Retrieve the format slug for a post
- get_object_taxonomies()Returns the names or objects of the taxonomies which are registered for the requested object or object type, such as a post object or post type name.
- wp_get_object_terms()Retrieves the terms associated with the given object(s), in the supplied taxonomies.
- get_post_meta()Retrieves a post meta field for the given post ID.
- apply_filters()Calls the callback functions that have been added to a filter hook.
- wp_xmlrpc_server::_convert_date()Converts a WordPress date string to an IXR_Date object.
- wp_xmlrpc_server::_convert_date_gmt()Converts a WordPress GMT date string to an IXR_Date object.
Show all 15
- wp_xmlrpc_server::_prepare_media_item()Prepares media item data for return in an XML-RPC object.
- wp_xmlrpc_server::_prepare_term()Prepares term data for return in an XML-RPC object.
- wp_xmlrpc_server::get_custom_fields()Retrieves custom fields for post.
Used by · 3
- wp_xmlrpc_server::wp_getPost()Retrieves a post.
- wp_xmlrpc_server::wp_getPosts()Retrieves posts.
- wp_xmlrpc_server::wp_getRevisions()Retrieves revisions for a specific post.
Source code
protected function _prepare_post( $post, $fields ) { // Holds the data for this post. built up based on $fields. $_post = array( 'post_id' => (string) $post['ID'] ); // Prepare common post fields. $post_fields = array( 'post_title' => $post['post_title'], 'post_date' => $this->_convert_date( $post['post_date'] ), 'post_date_gmt' => $this->_convert_date_gmt( $post['post_date_gmt'], $post['post_date'] ), 'post_modified' => $this->_convert_date( $post['post_modified'] ), 'post_modified_gmt' => $this->_convert_date_gmt( $post['post_modified_gmt'], $post['post_modified'] ), 'post_status' => $post['post_status'], 'post_type' => $post['post_type'], 'post_name' => $post['post_name'], 'post_author' => $post['post_author'], 'post_password' => $post['post_password'], 'post_excerpt' => $post['post_excerpt'], 'post_content' => $post['post_content'], 'post_parent' => (string) $post['post_parent'], 'post_mime_type' => $post['post_mime_type'], 'link' => get_permalink( $post['ID'] ), 'guid' => $post['guid'], 'menu_order' => (int) $post['menu_order'], 'comment_status' => $post['comment_status'], 'ping_status' => $post['ping_status'], 'sticky' => ( 'post' === $post['post_type'] && is_sticky( $post['ID'] ) ), ); // Thumbnail. $post_fields['post_thumbnail'] = array(); $thumbnail_id = get_post_thumbnail_id( $post['ID'] ); if ( $thumbnail_id ) { $thumbnail_size = current_theme_supports( 'post-thumbnail' ) ? 'post-thumbnail' : 'thumbnail'; $post_fields['post_thumbnail'] = $this->_prepare_media_item( get_post( $thumbnail_id ), $thumbnail_size ); } // Consider future posts as published. if ( 'future' === $post_fields['post_status'] ) { $post_fields['post_status'] = 'publish'; } // Fill in blank post format. $post_fields['post_format'] = get_post_format( $post['ID'] ); if ( empty( $post_fields['post_format'] ) ) { $post_fields['post_format'] = 'standard'; } // Merge requested $post_fields fields into $_post. if ( in_array( 'post', $fields, true ) ) { $_post = array_merge( $_post, $post_fields ); } else { $requested_fields = array_intersect_key( $post_fields, array_flip( $fields ) ); $_post = array_merge( $_post, $requested_fields ); } $all_taxonomy_fields = in_array( 'taxonomies', $fields, true ); if ( $all_taxonomy_fields || in_array( 'terms', $fields, true ) ) { $post_type_taxonomies = get_object_taxonomies( $post['post_type'], 'names' ); $terms = wp_get_object_terms( $post['ID'], $post_type_taxonomies ); $_post['terms'] = array(); foreach ( $terms as $term ) { $_post['terms'][] = $this->_prepare_term( $term ); } } if ( in_array( 'custom_fields', $fields, true ) ) { $_post['custom_fields'] = $this->get_custom_fields( $post['ID'] ); } if ( in_array( 'enclosure', $fields, true ) ) { $_post['enclosure'] = array(); $enclosures = (array) get_post_meta( $post['ID'], 'enclosure' ); if ( ! empty( $enclosures ) ) { $encdata = explode( "\n", $enclosures[0] ); $_post['enclosure']['url'] = trim( htmlspecialchars( $encdata[0] ) ); $_post['enclosure']['length'] = (int) trim( $encdata[1] ); $_post['enclosure']['type'] = trim( $encdata[2] ); } }Changelog
Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 6.7.7 tag, from
src/wp-includes/class-wp-xmlrpc-server.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.