Commit Graph

49 Commits

Author SHA1 Message Date
Gary Pendergast
ff53bd388c Coding Standards: Extract extract() from the codebase.
Of the last four instances of `extract()` occurring, three of them are removed by this commit, and the fourth is appropriately documented.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44569 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 03:19:23 +00:00
John Blackbourn
4836686b6f Docs: Add missing code formatting to various @since entries.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@42678 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-09 16:54:58 +00:00
Gary Pendergast
8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
Drew Jaynes
a970c07994 Docs: Don't reference non-existent hooks inline in the DocBlock descriptions for the following template functions:
* `get_index_template()`
* `get_404_template()`
* `get_author_template()`
* `get_category_template()`
* `get_tag_template()`
* `get_taxonomy_template()`
* `get_date_template()`
* `get_home_template()`
* `get_front_page_template()`
* `get_page_template()`
* `get_search_template()`
* `get_single_template()`
* `get_embed_template()`
* `get_singular_template()`
* `get_attachment_template()`

As mentioned when these dynamic hook references were originally fixed in [33274], we can't link to non-existent hooks inline because the Code Reference auto-linker won't pick up on the dynamic-ness of the hook, it'll just try to link to a hook reference that doesn't exist. In these cases, we need to be generic and provide context for the value of `$type`.

See [38418] for where the original fix was reversed. See this changeset for reversing the reversal.

Props donutz, milana_cap.

Fixes #41198.


git-svn-id: https://develop.svn.wordpress.org/trunk@40964 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-29 16:04:45 +00:00
Drew Jaynes
2d68e15e00 Docs: Don't reference non-existent hooks inline in the DocBlock description for get_archive_template().
Also removes extra curly braces from the dynamic hook references added in [40962] to aid future re-parsing.

See #41198.


git-svn-id: https://develop.svn.wordpress.org/trunk@40963 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-29 15:46:29 +00:00
Drew Jaynes
de8cb2d5b2 Docs: Don't reference non-existent hooks inline in the DocBlock description for get_post_type_archive_template().
Props milana_cap.
See #41198.


git-svn-id: https://develop.svn.wordpress.org/trunk@40962 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-29 15:38:14 +00:00
Sergey Biryukov
03eeb7efa8 Docs: Add missing opening quote for 'home' in {$type}_template_hierarchy and {$type}_template filters documentation.
Props tmatsuur, truongwp.
Fixes #40962.

git-svn-id: https://develop.svn.wordpress.org/trunk@40894 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-10 22:47:59 +00:00
John Blackbourn
acf5ca35c8 Themes: Add template type and template candidates as parameters to the {$type}_template filter.
Props mschadegg
Fixes #39525


git-svn-id: https://develop.svn.wordpress.org/trunk@40057 602fd350-edb4-49c9-b593-d223f7449a82
2017-02-12 21:24:16 +00:00
Boone Gorges
3e6e1a12f6 Avoid PHP notices in get_post_type_archive_template().
The function should fail more gracefully when called in the context
where `get_query_var( 'post_type' )` doesn't represent an actual post
type.

Props technopolitica, dlh.
Fixes #38374.

git-svn-id: https://develop.svn.wordpress.org/trunk@40031 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-30 19:31:25 +00:00
Sergey Biryukov
6afc94def0 Themes: Use curly braces for variables inside strings in `get_page_template() to explicitly specify the end of the variable name.
Props kuck1u.
Fixes #38625.

git-svn-id: https://develop.svn.wordpress.org/trunk@39884 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-12 04:12:22 +00:00
Pascal Birchler
a9516abb54 Posts, Post Types: Add support for post type templates.
WordPress has supported custom page templates for over 12 years, allowing developers to create various layouts for specific pages.
While this feature is very helpful, it has always been limited to the 'page' post type and not was not available to other post types.

By opening up the page template functionality to all post types, we continue to improve the template hierarchy's flexibility.

In addition to the `Template Name` file header, the post types supported by a template can be specified using `Template Post Type: post, foo, bar`.
When at least one template exists for a post type, the 'Post Attributes' meta box will be displayed in the back end, without the need to add post type support for `'page-attributes'`. 'Post Attributes' can be customized per post type using the `'attributes'` label when registering a post type.

Props johnbillion, Mte90, dipesh.kakadiya, swissspidy.
Fixes #18375.

git-svn-id: https://develop.svn.wordpress.org/trunk@38951 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-26 08:06:43 +00:00
John Blackbourn
6b8d8c90a5 Themes: Improve the inline documentation for the get_*_template() functions by providing examples instead of verbose explanations.
Fixes #38249
See #37770


git-svn-id: https://develop.svn.wordpress.org/trunk@38789 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-14 14:19:08 +00:00
John Blackbourn
1271cbd258 Themes: Remove paged.php from the theme template hierarchy.
The position of this template within the hierarchy is of so little use that zero themes in the WordPress.org theme directory make use of it. It's second only to `index.php` in the hierarchy, meaning that any archive template such as `category.php` or `archive.php` will be chosen before it.

Fixes #38162
Props ryankienstra for initial patch


git-svn-id: https://develop.svn.wordpress.org/trunk@38755 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-07 21:02:39 +00:00
Sergey Biryukov
2f9762b668 Docs: Use a third-person singular verb for {$type}_template_hierarchy filter added in [38385].
See #14310.

git-svn-id: https://develop.svn.wordpress.org/trunk@38609 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-14 21:53:47 +00:00
John Blackbourn
e7b058117a Themes: Add the non-encoded form of the queried item slug to the template hierarchy when the slug contains non-ASCII characters.
This affects category, tag, and custom taxonomy archives, and single posts, pages, and custom post types.

Fixes #37655


git-svn-id: https://develop.svn.wordpress.org/trunk@38583 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-09 00:47:17 +00:00
John Blackbourn
3b723b31ee Themes: Correct the list of possible values for the dynamic portion of the {$type}_template_hierarchy and {$type}_template filters.
See #14310


git-svn-id: https://develop.svn.wordpress.org/trunk@38428 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-28 23:56:04 +00:00
John Blackbourn
6ab9dc2dba Themes: Update filter names in the inline documentation for the get_*_template() functions.
See #14310, #37770


git-svn-id: https://develop.svn.wordpress.org/trunk@38418 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-28 16:14:53 +00:00
John Blackbourn
9df1424d88 Themes: Make the template hierarchy for a given template type filterable.
This introduces a `{$type}_template_hierarchy` filter that allows the hierarchy of candidate template filenames for a given template type to be filtered.

This allows the hierarchy to be added to or altered completely without resorting to re-building the hierarchy from scratch within the `template_include` filter, which is common and prone to conflicts between plugins and prone to getting out of sync with core's hierarchy.

Fixes #14310


git-svn-id: https://develop.svn.wordpress.org/trunk@38385 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-26 21:02:08 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Drew Jaynes
520ed6b725 Docs: Remove/replace invalid inline @link tags in DocBlocks in wp-includes/*.
Fixes #36910.


git-svn-id: https://develop.svn.wordpress.org/trunk@37487 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 17:39:00 +00:00
Drew Jaynes
deaabdcc28 Docs: Correct a typo in the DocBlock summary for get_embed_template(), introduced in [36963].
Props swissspidy.
See #34561, #34278. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36965 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 22:44:15 +00:00
Drew Jaynes
fd7c2fef96 Docs: Use a third-person singular verb in the summary for get_embed_template(), introduced in [36876].
See #34561, #34278. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36963 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 22:08:16 +00:00
Pascal Birchler
bae3fb43a5 Embeds: Add support for embeds in the theme template hierarchy.
This allows themes to directly override the default template. The order in which the template is retrieved is as follows: `embed-$post_type-$post_format.php` -> `embed-$post_type.php` -> `embed.php`.

The `embed_template` filter gets replaced by the dynamic `{$type}_template` filter in `get_query_template()`.

Props ChriCo, swissspidy.
See #34561. Fixes #34278.

git-svn-id: https://develop.svn.wordpress.org/trunk@36876 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-07 19:33:01 +00:00
Drew Jaynes
177351364c Embeds: Introduce embed templates into the template hierarchy via theme-compat.
Splits wp-includes/embed-template.php, introduced in 4.4, into five new templates that can be individually overridden by themes:

* embed.php
* embed-404.php
* embed-content.php
* header-embed.php
* footer-embed.php

Also introduces a new template tag for outputting the site title, `the_embed_site_title()`.

The five new templates live in theme-compat, allowing for graceful fallbacks should themes prefer not to override any or all of them.

Props swissspidy, imath, ocean90, DrewAPicture.
See #34561.


git-svn-id: https://develop.svn.wordpress.org/trunk@36693 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 20:56:18 +00:00
John Blackbourn
c4cf5124ca Comments: The year is 2003. Permalinks are a new thing and everyone's using Blogger. It's a time when opening a modal window in JavaScript to view a section of a website is not a completely weird thing, although many users get annoyed by it. b2 has recently become WordPress, and with it comes a bunch of functionality that will become stale over the next decade, remnants of simpler times.
Twelve years later, after no fewer than three themes have intentionally implemented popup comments in their functionality, before being abandoned for at least the last six years, we've reached a time where we can put this era behind us. A time when we can remove comment popup functionality from WordPress.

If this breaks the internet, I'll eat my hat.

Fixes #28617


git-svn-id: https://develop.svn.wordpress.org/trunk@35848 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-10 03:05:34 +00:00
John Blackbourn
c1aa66cd52 List the possible values for the dynamic portion of the {type}_template hook.
See #14310, #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@35413 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-28 14:05:04 +00:00
Scott Taylor
c123726ba0 Docs: some @global object vernaculars should be converted to the actual object type.
See #33491.


git-svn-id: https://develop.svn.wordpress.org/trunk@35013 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-10 15:44:16 +00:00
Sergey Biryukov
02f76495c6 Add single-{post_type}-{post_name}.php to the top of the template hierarchy for single posts.
This is consistent with page and taxonomy templates, which support slugs as well.

Props ericjuden, johnbillion.
Fixes #18859.

git-svn-id: https://develop.svn.wordpress.org/trunk@34800 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 14:59:46 +00:00
Drew Jaynes
c928758054 Docs: Update the DocBlock descriptions for a variety of template functions to better reflect that the dynamic $type_template hook can be used to filter the template path.
It's important to reference the actual dynamic hook name instead of an alias for purposes of auto-linking in the Code Reference.

Affects the docs for:
* `get_index_template()`
* `get_404_template()`
* `get_archive_template()`
* `get_post_type_archive_template()`
* `get_author_template()`
* `get_category_template()`
* `get_tag_template()`
* `get_taxonomy_template()`
* `get_date_template()`
* `get_home_template()`
* `get_page_template()`
* `get_paged_template()`
* `get_search_template()`
* `get_single_template()`
* `get_singular_template()`
* `get_attachment_template()`

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@33274 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 22:26:32 +00:00
Drew Jaynes
b55154c579 Docs: Clarify the hook docs for the {$type}_template hook to mention that non-alphanumeric characters delimiting words will also be removed from the passed $type parameter.
Also remove a now-unnecessary inline `@see` tag from the return description.

See #32246. See #32989.


git-svn-id: https://develop.svn.wordpress.org/trunk@33273 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 22:11:52 +00:00
Drew Jaynes
7b91a81c4a Update the descriptions for get_front_page_template() and get_comments_popup_template() to reference the correct dynamic hook names.
Part props @birgire.

Fixes #32989. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@33272 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-14 21:58:16 +00:00
Drew Jaynes
0b9afe692d Fix inline documentation syntax in the DocBlock for get_singular_template(), added in 4.3.
See [32846]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33239 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:58:23 +00:00
Aaron Jorbin
301988d967 Add singular.php to template hierarchy
Singular is the only template context conditional that lacks a corresponding template. This allows some themes to simplify.

Fixes #22314.
Props chipbennett.



git-svn-id: https://develop.svn.wordpress.org/trunk@32846 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-18 19:00:09 +00:00
Scott Taylor
195b61009f In get_attachment_template(), pass an array of templates to get_query_template( 'attachment', $templates ), instead of bailing on the first found template.
Props willnorris, jfarthing84, SergeyBiryukov, DrewAPicture, wonderboymusic.
Fixes #15337.


git-svn-id: https://develop.svn.wordpress.org/trunk@32804 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-16 20:49:44 +00:00
Scott Taylor
c8ec7ffffa Add missing doc blocks to template.php.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32628 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-27 22:03:52 +00:00
Andrew Nacin
ca8d6fb60f Escape the $s global.
fixes #32142.


git-svn-id: https://develop.svn.wordpress.org/trunk@32298 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-27 05:09:24 +00:00
Scott Taylor
5acc6bdb58 In PHP 5.0.0, is_a() became deprecated in favour of the instanceof operator. Calling is_a() would result in an E_STRICT warning.
In PHP 5.3.0, `is_a()` is no longer deprecated, and will therefore no longer throw `E_STRICT` warnings.

To avoid warnings in PHP < 5.3.0, convert all `is_a()` calls to `$var instanceof WP_Class` calls.

`instanceof` does not throw any error if the variable being tested is not an object, it simply returns `false`.

Props markoheijnen, wonderboymusic.
Fixes #25672.


git-svn-id: https://develop.svn.wordpress.org/trunk@31188 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 01:05:52 +00:00
Scott Taylor
6fd11624d1 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31090 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 07:04:40 +00:00
Drew Jaynes (DrewAPicture)
e587324180 Docs Formatting: Backtick-escape inline code for all remaining dynamic hook docs in wp-includes/*.
Affects DocBlocks for the following hooks:
* `auth_post_meta_{$meta_key}`
* `term_links-$taxonomy`
* `customize_render_control_ . $this->id`
* `customize_render_panel_{$this->id}`
* `customize_render_section_{$this->id}`
* `customize_preview_{$this->id}`
* `customize_save_ . $this->id_data[ 'base' ]`
* `customize_update_ . $this->type`
* `customize_value_ . $this->id_data[ 'base' ]`
* `customize_sanitize_js_{$this->id}`
* `comment_form_field_{$name}`
* `comment_{$old_status}_to_{$new_status}`
* `comment_{$new_status}_{$comment->comment_type}`
* `extra_{$context}_headers`
* `get_template_part_{$slug}`
* `get_the_generator_{$type}`
* `get_{$adjacent}_post_join`
* `get_{$adjacent}_post_where`
* `get_{$adjacent}_post_sort`
* `{$adjacent}_post_rel_link`
* `{$adjacent}_post_link`
* `{$adjacent}_image_link`
* `blog_option_{$option}`
* `$permastructname . _rewrite_rules`
* `{$type}_template`
* `theme_mod_{$name}`
* `pre_set_theme_mod_$name`
* `current_theme_supports-{$feature}`
* `get_user_option_{$option}`
* `edit_user_{$field}`
* `pre_user_{$field}`
* `user_{$field}`

See #30552.


git-svn-id: https://develop.svn.wordpress.org/trunk@30656 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 12:09:56 +00:00
Scott Taylor
3cda5caafd Revert [28563]. See #18298.
git-svn-id: https://develop.svn.wordpress.org/trunk@29044 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-09 18:06:54 +00:00
Scott Taylor
70f735669a Replaces all uses of TEMPLATEPATH and STYLESHEETPATH in core with get_template_directory() and get_stylesheet_directory().
Add `@deprecated` annotations to `TEMPLATEPATH` and `STYLESHEETPATH` definitions.

Props obenland, aaroncampbell. 
Fixes #18298.


git-svn-id: https://develop.svn.wordpress.org/trunk@28563 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-23 20:11:08 +00:00
Drew Jaynes
82f55e9838 Inline documentation improvements for get_*_template() functions in wp-includes/template.php.
* Adds `@see` references for `get_query_template()` or similar
* Adds complete `@return` descriptions
* Clarifies which dynamic hooks can be used to filter specific template types

Props UmeshSingla for the initial patches. Props SergeyBiryukov, DrewAPicture.
Fixes #26742.


git-svn-id: https://develop.svn.wordpress.org/trunk@26906 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-05 17:54:07 +00:00
Sergey Biryukov
bc6c0c9b0f Correct @since values for various hooks. fixes #25766.
git-svn-id: https://develop.svn.wordpress.org/trunk@25991 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-30 03:19:16 +00:00
Drew Jaynes
2e27610793 Inline documentation for a hooks in wp-includes/template.php.
Props jonlynch for the initial patch.
Fixes #25487.

git-svn-id: https://develop.svn.wordpress.org/trunk@25703 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-06 19:00:05 +00:00
Scott Taylor
c5c88eb85b Add sanity checks to get_*_template() functions to ensure that the return value of get_queried_object() is compatible with the assumed context.
Fixes #25291.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25386 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:31:14 +00:00
Scott Taylor
e72ffa5d96 Move checks for post_type being an array inline. See [25291], [25292], #18614.
git-svn-id: https://develop.svn.wordpress.org/trunk@25312 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 03:01:10 +00:00
Scott Taylor
14e44dcd05 Make sure the queried object is non-null before accessing its properties.
Props markoheijnen, ryan.
Fixes #21394.



git-svn-id: https://develop.svn.wordpress.org/trunk@25310 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 02:27:24 +00:00
Scott Taylor
48dc7e576b Ensure that the post type object is the queried object when a post type has been registered with has_archive => true. Ensure it is not stomped when decorated with tax_query. Adds unit tests.
Props nacin.
Fixes #18614.



git-svn-id: https://develop.svn.wordpress.org/trunk@25291 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-06 22:06:40 +00:00
Andrew Nacin
b43712e0f7 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.



git-svn-id: https://develop.svn.wordpress.org/trunk@25001 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-07 05:25:25 +00:00