Opened 12 years ago
Closed 6 years ago
#21941 closed enhancement (maybelater)
Deprecate get_post_format_slugs()
Reported by: | F J Kaiser | Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | minor | Version: | |
Component: | Post Formats | Keywords: | good-first-bug has-patch dev-feedback |
Focuses: | Cc: |
Description
I just encountered the get_post_format_slugs()
function, which is basically just wrapping get_post_format_strings()
and setting the strings as keys too. So its output is an assoc array where the keys equal the values.
The three times core calls it, it does it the following:
// ~/wp-includes/posts.php -> set_post_format() if ( 'standard' == $format || !in_array( $format, array_keys( get_post_format_slugs() ) ) ) // ~/wp-includes/posts.php -> _post_format_request() $slugs = get_post_format_slugs(); if ( isset( $slugs[ $qvs['post_format'] ] ) ) $qvs['post_format'] = 'post-format-' . $slugs[ $qvs['post_format'] ]; // ~/wp-includes/theme.php -> add_theme_support() switch ( $feature ) { case 'post-formats' : if ( is_array( $args[0] ) ) $args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) ); break;
So in every case it would've been enough to simply call get_post_format_strings()
.
Do we really need this function?
Attachments (5)
Change History (22)
#4
@
8 years ago
- Keywords needs-unit-tests removed
21941.2.diff is a refresh. It looks like we now have tests for add_theme_support() and set_post_format(). I think these tests cover all the usage of get_post_format_slugs.
#5
@
8 years ago
- Keywords good-first-bug needs-patch added; 2nd-opinion has-patch removed
21941.2.diff needs a small refresh.
Deprecated functions are usually moved to wp-includes/deprecated.php
. They also need proper inline docs, see https://make.wordpress.org/core/handbook/best-practices/inline-documentation-standards/php/#1-2-deprecated-functions
#7
follow-up:
↓ 9
@
8 years ago
Sorry I am new @ this. 21941.3.2.diff is pretty much the same as 21941.3.diff only I had missed out a couple of things
#8
@
8 years ago
- Milestone changed from Awaiting Review to 4.6
@lemacarl Thanks, that looks good! Just the version number needs to be updated, but fine otherwise.
I'll try to test it when I get the chance.
#9
in reply to:
↑ 7
@
8 years ago
- Keywords dev-feedback added
Replying to swissspidy:
@swissspidy Just tested and updated the version # in the patch. Fine at my end. 21941.4.diff https://core.trac.wordpress.org/attachment/ticket/21941/21941.4.diff
#10
@
8 years ago
- Summary changed from Remove get_post_format_slugs() to Deprecate get_post_format_slugs()
This ticket was mentioned in Slack in #core by chriscct7. View the logs.
8 years ago
#12
@
8 years ago
I don't see the need for deprecating the function. It looks like the function is used by some themes and plugins, see https://github.com/search?o=desc&q=get_post_format_slugs%28%29&s=indexed&type=Code&utf8=%E2%9C%93.
@ipstenu: Could you help us with slurping the plugin repo for get_post_format_slugs)
?
#14
@
8 years ago
Slurping....
18 plugins.
plugins/askapache-debug-viewer/askapache-debug-viewer.php:2442: $d=get_post_format_slugs(); $out['get_post_format_slugs'] = $d; plugins/bulk-convert-post-format/bulk-convert-post-format.php:74: $formats = get_post_format_slugs(); plugins/custom-contact-forms/wp-api/lib/endpoints/class-wp-rest-posts-controller.php:1519: 'enum' => array_values( get_post_format_slugs() ), plugins/json-rest-api/lib/class-wp-json-posts.php:932: $formats = get_post_format_slugs(); plugins/ozh-tweet-archiver/ozh-ta.php:128: 'post_format' => 'standard', // can be any of the values returned by get_post_format_slugs() plugins/post-format-permalink/post-format-permalink.php:91: $post_format_slugs = implode('|', get_post_format_slugs()); plugins/postie/postie-functions.php:516: } elseif (in_array($custom_post_type, array_keys(get_post_format_slugs()))) { plugins/pressbooks/vendor/pressbooks/rest-api/lib/endpoints/class-wp-rest-posts-controller.php:1557: 'enum' => array_values( get_post_format_slugs() ), plugins/presstest/mocked/core.php:3739:if( !function_exists( 'get_post_format_slugs' ) ) { function get_post_format_slugs() { return PT_Mime::mime( func_get_args() ); } } plugins/prograpper/wp-api/lib/class-wp-json-posts.php:932: $formats = get_post_format_slugs(); plugins/reactor-core/json-rest-api/lib/class-wp-json-posts.php:932: $formats = get_post_format_slugs(); plugins/rest-api/lib/endpoints/class-wp-rest-posts-controller.php:1557: 'enum' => array_values( get_post_format_slugs() ), plugins/rest-api-search/lib/class-wp-rest-search-controller.php:296: 'enum' => array_values ( get_post_format_slugs () ), plugins/rest-json/include/class-wp-json-posts.php:932: $formats = get_post_format_slugs(); plugins/set-aside/set-aside.php:68: <?php if ( !function_exists('get_post_format_slugs') ) : ?> plugins/set-aside/set-aside.php:89: <?php foreach ( array_diff ( get_post_format_slugs(), $post_formats[0], array ( 'standard' ) ) as $format ) : ?> plugins/set-aside/set-aside.php:97: <?php endif; // !function_exists('get_post_format_slugs') ?> plugins/the-pressengine/lib/class-wp-json-posts.php:932: $formats = get_post_format_slugs(); plugins/worona/json-rest-api/lib/class-wp-json-posts.php:932: $formats = get_post_format_slugs(); plugins/wp-bigapp/lib/json/class-wp-json-posts.php:955: $formats = get_post_format_slugs();
This ticket was mentioned in Slack in #core by voldemortensen. View the logs.
8 years ago
#17
@
6 years ago
- Keywords close removed
- Milestone Future Release deleted
- Resolution set to maybelater
- Status changed from assigned to closed
Given the feedback in https://core.trac.wordpress.org/ticket/21941#comment:12 and https://core.trac.wordpress.org/ticket/21941#comment:14, and given that the function does not have an adequate direct replacement (regardless of whether its existence is generally questionable), I agree it's not worth deprecating the function at this point. Maybe we can revisit this later.
first pass.