2010-10-24 22:57:43 -04:00
< ? php
/**
2015-10-17 11:13:25 -04:00
* List Table API : WP_Themes_List_Table class
2010-10-24 22:57:43 -04:00
*
* @ package WordPress
2015-10-17 11:13:25 -04:00
* @ subpackage Administration
* @ since 3.1 . 0
*/
/**
* Core class used to implement displaying installed themes in a list table .
*
2010-10-25 00:04:18 -04:00
* @ since 3.1 . 0
2015-10-17 11:13:25 -04:00
*
* @ see WP_List_Table
2010-10-24 22:57:43 -04:00
*/
2010-11-04 04:07:03 -04:00
class WP_Themes_List_Table extends WP_List_Table {
2010-10-24 22:57:43 -04:00
2012-02-29 17:19:18 -05:00
protected $search_terms = array ();
2017-11-30 18:11:00 -05:00
public $features = array ();
2012-02-29 17:19:18 -05:00
2014-08-09 22:18:17 -04:00
/**
* Constructor .
2014-09-04 11:23:16 -04:00
*
2014-08-09 22:18:17 -04:00
* @ since 3.1 . 0
*
* @ see WP_List_Table :: __construct () for more information on default arguments .
*
* @ param array $args An associative array of arguments .
2014-09-04 11:23:16 -04:00
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function __construct ( $args = array () ) {
2017-11-30 18:11:00 -05:00
parent :: __construct (
array (
'ajax' => true ,
'screen' => isset ( $args [ 'screen' ] ) ? $args [ 'screen' ] : null ,
)
);
2012-02-09 12:20:26 -05:00
}
2010-10-24 22:57:43 -04:00
2015-05-29 16:17:26 -04:00
/**
* @ return bool
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function ajax_user_can () {
2016-07-09 20:51:30 -04:00
// Do not check edit_theme_options here. Ajax calls for available themes require switch_themes.
2012-03-02 17:09:26 -05:00
return current_user_can ( 'switch_themes' );
2010-10-24 22:57:43 -04:00
}
2015-05-29 17:32:24 -04:00
/**
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function prepare_items () {
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
$themes = wp_get_themes ( array ( 'allowed' => true ) );
2010-10-24 22:57:43 -04:00
2017-11-30 18:11:00 -05:00
if ( ! empty ( $_REQUEST [ 's' ] ) ) {
2013-03-01 12:00:25 -05:00
$this -> search_terms = array_unique ( array_filter ( array_map ( 'trim' , explode ( ',' , strtolower ( wp_unslash ( $_REQUEST [ 's' ] ) ) ) ) ) );
2017-11-30 18:11:00 -05:00
}
2010-10-24 22:57:43 -04:00
2017-11-30 18:11:00 -05:00
if ( ! empty ( $_REQUEST [ 'features' ] ) ) {
2010-10-24 22:57:43 -04:00
$this -> features = $_REQUEST [ 'features' ];
2017-11-30 18:11:00 -05:00
}
2010-10-24 22:57:43 -04:00
2012-02-29 17:19:18 -05:00
if ( $this -> search_terms || $this -> features ) {
2010-10-24 22:57:43 -04:00
foreach ( $themes as $key => $theme ) {
2017-11-30 18:11:00 -05:00
if ( ! $this -> search_theme ( $theme ) ) {
2010-10-24 22:57:43 -04:00
unset ( $themes [ $key ] );
2017-11-30 18:11:00 -05:00
}
2010-10-24 22:57:43 -04:00
}
}
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
unset ( $themes [ get_option ( 'stylesheet' ) ] );
WP_Theme :: sort_by_name ( $themes );
2010-10-24 22:57:43 -04:00
2012-09-05 16:33:34 -04:00
$per_page = 36 ;
2017-11-30 18:11:00 -05:00
$page = $this -> get_pagenum ();
2010-10-24 22:57:43 -04:00
$start = ( $page - 1 ) * $per_page ;
2012-02-23 09:42:01 -05:00
$this -> items = array_slice ( $themes , $start , $per_page , true );
2010-10-24 22:57:43 -04:00
2017-11-30 18:11:00 -05:00
$this -> set_pagination_args (
array (
'total_items' => count ( $themes ),
'per_page' => $per_page ,
'infinite_scroll' => true ,
)
);
2010-10-24 22:57:43 -04:00
}
2015-05-29 17:32:24 -04:00
/**
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function no_items () {
2012-02-29 17:19:18 -05:00
if ( $this -> search_terms || $this -> features ) {
2011-01-14 19:35:29 -05:00
_e ( 'No items found.' );
return ;
}
2011-02-09 12:35:36 -05:00
2016-08-31 00:55:54 -04:00
$blog_id = get_current_blog_id ();
2010-12-09 11:12:04 -05:00
if ( is_multisite () ) {
if ( current_user_can ( 'install_themes' ) && current_user_can ( 'manage_network_themes' ) ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
printf (
2019-09-02 20:41:05 -04:00
/* translators: 1: URL to Themes tab on Edit Site screen, 2: URL to Add Themes screen. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
__ ( 'You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%1$s">enable</a> or <a href="%2$s">install</a> more themes.' ),
network_admin_url ( 'site-themes.php?id=' . $blog_id ),
network_admin_url ( 'theme-install.php' )
);
2010-12-09 11:12:04 -05:00
return ;
} elseif ( current_user_can ( 'manage_network_themes' ) ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
printf (
2019-09-02 20:41:05 -04:00
/* translators: %s: URL to Themes tab on Edit Site screen. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
__ ( 'You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%s">enable</a> more themes.' ),
network_admin_url ( 'site-themes.php?id=' . $blog_id )
);
2010-12-09 11:12:04 -05:00
return ;
}
2014-07-17 05:14:16 -04:00
// Else, fallthrough. install_themes doesn't help if you can't enable it.
2010-12-06 16:37:35 -05:00
} else {
2010-12-09 11:12:04 -05:00
if ( current_user_can ( 'install_themes' ) ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
printf (
2019-09-02 20:41:05 -04:00
/* translators: %s: URL to Add Themes screen. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
__ ( 'You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress Theme Directory at any time: just click on the <a href="%s">Install Themes</a> tab above.' ),
admin_url ( 'theme-install.php' )
);
2010-12-09 11:12:04 -05:00
return ;
}
2010-12-06 16:37:35 -05:00
}
2010-12-09 11:12:04 -05:00
// Fallthrough.
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
printf (
2019-09-02 20:41:05 -04:00
/* translators: %s: Network title. */
2022-01-15 03:44:03 -05:00
__ ( 'Only the active theme is available to you. Contact the %s administrator for information about accessing additional themes.' ),
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
get_site_option ( 'site_name' )
);
2010-10-24 22:57:43 -04:00
}
2011-02-09 12:35:36 -05:00
2014-11-30 19:33:23 -05:00
/**
* @ param string $which
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function tablenav ( $which = 'top' ) {
2017-11-30 18:11:00 -05:00
if ( $this -> get_pagination_arg ( 'total_pages' ) <= 1 ) {
2011-01-14 19:35:29 -05:00
return ;
2017-11-30 18:11:00 -05:00
}
2011-02-09 12:35:36 -05:00
?>
2011-09-15 00:26:26 -04:00
< div class = " tablenav themes <?php echo $which ; ?> " >
2011-02-09 12:35:36 -05:00
< ? php $this -> pagination ( $which ); ?>
2012-10-10 16:34:19 -04:00
< span class = " spinner " ></ span >
2012-09-26 15:57:44 -04:00
< br class = " clear " />
2011-02-09 12:35:36 -05:00
</ div >
< ? php
2011-01-14 19:35:29 -05:00
}
2010-10-24 22:57:43 -04:00
2015-05-29 17:32:24 -04:00
/**
2019-09-29 07:04:58 -04:00
* Displays the themes table .
*
* Overrides the parent display () method to provide a different container .
*
* @ since 3.1 . 0
2015-05-29 17:32:24 -04:00
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function display () {
2017-11-30 18:11:00 -05:00
wp_nonce_field ( 'fetch-list-' . get_class ( $this ), '_ajax_fetch_list_nonce' );
2018-08-16 21:51:36 -04:00
?>
2011-02-09 12:35:36 -05:00
< ? php $this -> tablenav ( 'top' ); ?>
2010-10-24 22:57:43 -04:00
2011-09-15 00:26:26 -04:00
< div id = " availablethemes " >
< ? php $this -> display_rows_or_placeholder (); ?>
</ div >
2010-10-24 22:57:43 -04:00
2011-02-09 12:35:36 -05:00
< ? php $this -> tablenav ( 'bottom' ); ?>
2018-08-16 21:51:36 -04:00
< ? php
2010-10-24 22:57:43 -04:00
}
2015-05-29 16:17:26 -04:00
/**
2023-05-08 18:37:24 -04:00
* @ return string [] Array of column titles keyed by their column name .
2015-05-29 16:17:26 -04:00
*/
2014-07-11 23:27:14 -04:00
public function get_columns () {
2010-10-24 22:57:43 -04:00
return array ();
}
2015-05-29 17:32:24 -04:00
/**
*/
2014-07-13 18:09:16 -04:00
public function display_rows_or_placeholder () {
2013-09-11 20:03:10 -04:00
if ( $this -> has_items () ) {
$this -> display_rows ();
} else {
echo '<div class="no-items">' ;
$this -> no_items ();
echo '</div>' ;
}
}
2015-05-29 17:32:24 -04:00
/**
2024-07-17 11:43:15 -04:00
* Generates the list table rows .
*
* @ since 3.1 . 0
2015-05-29 17:32:24 -04:00
*/
2014-07-13 18:09:16 -04:00
public function display_rows () {
2010-10-24 22:57:43 -04:00
$themes = $this -> items ;
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
2017-11-30 18:11:00 -05:00
foreach ( $themes as $theme ) :
?>
< div class = " available-theme " >
< ? php
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
2012-04-09 20:15:13 -04:00
$template = $theme -> get_template ();
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
$stylesheet = $theme -> get_stylesheet ();
2017-11-30 18:11:00 -05:00
$title = $theme -> display ( 'Name' );
$version = $theme -> display ( 'Version' );
$author = $theme -> display ( 'Author' );
2012-03-02 21:40:43 -05:00
2017-11-30 18:11:00 -05:00
$activate_link = wp_nonce_url ( 'themes.php?action=activate&template=' . urlencode ( $template ) . '&stylesheet=' . urlencode ( $stylesheet ), 'switch-theme_' . $stylesheet );
2012-04-09 20:15:13 -04:00
2017-11-30 18:11:00 -05:00
$actions = array ();
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
$actions [ 'activate' ] = sprintf (
'<a href="%s" class="activatelink" title="%s">%s</a>' ,
$activate_link ,
2019-09-02 20:41:05 -04:00
/* translators: %s: Theme name. */
2020-07-21 12:33:05 -04:00
esc_attr ( sprintf ( _x ( 'Activate “%s”' , 'theme' ), $title ) ),
2024-02-26 15:35:08 -05:00
_x ( 'Activate' , 'theme' )
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
);
2012-06-06 16:34:24 -04:00
2014-07-14 15:01:16 -04:00
if ( current_user_can ( 'edit_theme_options' ) && current_user_can ( 'customize' ) ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
$actions [ 'preview' ] .= sprintf (
'<a href="%s" class="load-customize hide-if-no-customize">%s</a>' ,
wp_customize_url ( $stylesheet ),
__ ( 'Live Preview' )
);
2014-07-14 15:01:16 -04:00
}
2012-06-06 16:34:24 -04:00
2017-11-30 18:11:00 -05:00
if ( ! is_multisite () && current_user_can ( 'delete_themes' ) ) {
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
$actions [ 'delete' ] = sprintf (
'<a class="submitdelete deletion" href="%s" onclick="return confirm( \'%s\' );">%s</a>' ,
wp_nonce_url ( 'themes.php?action=delete&stylesheet=' . urlencode ( $stylesheet ), 'delete-theme_' . $stylesheet ),
2019-09-02 20:41:05 -04:00
/* translators: %s: Theme name. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
esc_js ( sprintf ( __ ( " You are about to delete this theme '%s' \n 'Cancel' to stop, 'OK' to delete. " ), $title ) ),
__ ( 'Delete' )
);
2017-11-30 18:11:00 -05:00
}
2012-03-02 21:40:43 -05:00
2014-02-04 03:25:13 -05:00
/** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
2017-11-30 18:11:00 -05:00
$actions = apply_filters ( 'theme_action_links' , $actions , $theme , 'all' );
2014-02-04 03:25:13 -05:00
/** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
2019-08-22 15:08:55 -04:00
$actions = apply_filters ( " theme_action_links_ { $stylesheet } " , $actions , $theme , 'all' );
2012-04-12 17:10:40 -04:00
$delete_action = isset ( $actions [ 'delete' ] ) ? '<div class="delete-theme">' . $actions [ 'delete' ] . '</div>' : '' ;
unset ( $actions [ 'delete' ] );
2012-03-02 21:40:43 -05:00
2019-07-01 08:52:01 -04:00
$screenshot = $theme -> get_screenshot ();
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
?>
2012-04-16 10:02:28 -04:00
2015-07-29 14:36:26 -04:00
< span class = " screenshot hide-if-customize " >
2019-07-01 08:52:01 -04:00
< ? php if ( $screenshot ) : ?>
2022-03-18 08:44:04 -04:00
< img src = " <?php echo esc_url( $screenshot . '?ver=' . $theme->version ); ?> " alt = " " />
2012-04-16 10:02:28 -04:00
< ? php endif ; ?>
2015-07-29 14:36:26 -04:00
</ span >
2012-04-18 16:57:06 -04:00
< a href = " <?php echo wp_customize_url( $stylesheet ); ?> " class = " screenshot load-customize hide-if-no-customize " >
2019-07-01 08:52:01 -04:00
< ? php if ( $screenshot ) : ?>
2022-03-18 08:44:04 -04:00
< img src = " <?php echo esc_url( $screenshot . '?ver=' . $theme->version ); ?> " alt = " " />
2012-04-16 10:02:28 -04:00
< ? php endif ; ?>
</ a >
2012-04-09 20:15:13 -04:00
< h3 >< ? php echo $title ; ?> </h3>
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
< div class = " theme-author " >
< ? php
2019-09-02 20:41:05 -04:00
/* translators: %s: Theme author. */
I18N: Improve translator comments.
* Add missing translator comments.
* Fix placement of some translator comments. Translator comments should be on the line directly above the line containing the translation function call for optimal compatibility with various `.pot` file generation tools. The CS auto-fixing, which changed some inconsistent function calls to multi-line function calls, is part of the reason why this was no longer the case for a select group of translator comments.
Includes minor code layout fixes.
Polyglots, rejoice! All WordPress core files now have translator comments for all strings with placeholders!
Props jrf, subrataemfluence, GaryJ, webdados, Dency, swissspidy, alvarogois, marcomartins, mihaiiceyro, vladwtz, niq1982, flipkeijzer, michielatyoast, chandrapatel, thrijith, joshuanoyce, FesoVik, tessak22, bhaktirajdev, cleancoded, dhavalkasvala, garrett-eclipse, bibliofille, socalchristina, priyankkpatel, 5hel2l2y, adamsilverstein, JeffPaul, pierlo, SergeyBiryukov.
Fixes #44360.
Built from https://develop.svn.wordpress.org/trunk@45926
git-svn-id: http://core.svn.wordpress.org/trunk@45737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-09-01 13:13:59 -04:00
printf ( __ ( 'By %s' ), $author );
?>
</ div >
2012-04-09 20:15:13 -04:00
< div class = " action-links " >
2012-04-12 17:10:40 -04:00
< ul >
2017-11-30 18:11:00 -05:00
< ? php foreach ( $actions as $action ) : ?>
2012-04-12 17:10:40 -04:00
< li >< ? php echo $action ; ?> </li>
< ? php endforeach ; ?>
2017-11-30 18:11:00 -05:00
< li class = " hide-if-no-js " >< a href = " # " class = " theme-detail " >< ? php _e ( 'Details' ); ?> </a></li>
2012-04-12 17:10:40 -04:00
</ ul >
< ? php echo $delete_action ; ?>
< ? php theme_update_available ( $theme ); ?>
2012-04-09 20:15:13 -04:00
</ div >
2012-03-02 21:40:43 -05:00
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
< div class = " themedetaildiv hide-if-js " >
2017-11-30 18:11:00 -05:00
< p >< strong >< ? php _e ( 'Version:' ); ?> </strong> <?php echo $version; ?></p>
< p >< ? php echo $theme -> display ( 'Description' ); ?> </p>
< ? php
if ( $theme -> parent () ) {
printf (
2019-10-04 18:09:57 -04:00
/* translators: 1: Link to documentation on child themes, 2: Name of parent theme. */
2017-11-30 18:11:00 -05:00
' <p class="howto">' . __ ( 'This <a href="%1$s">child theme</a> requires its parent theme, %2$s.' ) . '</p>' ,
2019-04-01 07:55:52 -04:00
__ ( 'https://developer.wordpress.org/themes/advanced-topics/child-themes/' ),
2017-11-30 18:11:00 -05:00
$theme -> parent () -> display ( 'Name' )
);
}
?>
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
</ div >
2012-04-09 20:15:13 -04:00
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
</ div >
2018-08-16 21:51:36 -04:00
< ? php
2012-04-09 20:15:13 -04:00
endforeach ;
2010-10-24 22:57:43 -04:00
}
2014-11-30 19:33:23 -05:00
/**
* @ param WP_Theme $theme
* @ return bool
*/
Add access modifiers to methods and members of list table classes:
* `WP_List_Table` is the base class that implements `__get()` and `__call()` for BC
* Adds unit tests to confirm that subclasses properly inherit magic methods
* Add modifiers to subclasses: `WP_Links_List_Table`, `WP_Media_List_Table`, `WP_MS_Sites_List_Table`, `WP_MS_Themes_List_Table`, `WP_MS_Users_List_Table`, `WP_Plugin_Install_List_Table`, `WP_Plugins_List_Table`, `WP_Posts_List_Table`, `WP_Terms_List_Table`, `WP_Theme_Install_List_Table`, `WP_Themes_List_Table`
See #27881, #22234.
Built from https://develop.svn.wordpress.org/trunk@28493
git-svn-id: http://core.svn.wordpress.org/trunk@28319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-18 21:17:15 -04:00
public function search_theme ( $theme ) {
2020-01-28 19:45:18 -05:00
// Search the features.
2012-02-29 17:19:18 -05:00
foreach ( $this -> features as $word ) {
2020-04-04 23:02:11 -04:00
if ( ! in_array ( $word , $theme -> get ( 'Tags' ), true ) ) {
2012-02-29 17:19:18 -05:00
return false ;
2017-11-30 18:11:00 -05:00
}
2012-02-28 15:51:19 -05:00
}
2010-10-24 22:57:43 -04:00
2020-01-28 19:45:18 -05:00
// Match all phrases.
2012-02-29 17:19:18 -05:00
foreach ( $this -> search_terms as $word ) {
2020-04-04 23:02:11 -04:00
if ( in_array ( $word , $theme -> get ( 'Tags' ), true ) ) {
2012-02-29 17:19:18 -05:00
continue ;
2017-11-30 18:11:00 -05:00
}
2012-02-29 17:19:18 -05:00
foreach ( array ( 'Name' , 'Description' , 'Author' , 'AuthorURI' ) as $header ) {
// Don't mark up; Do translate.
2014-03-11 18:24:15 -04:00
if ( false !== stripos ( strip_tags ( $theme -> display ( $header , false , true ) ), $word ) ) {
2012-02-29 17:19:18 -05:00
continue 2 ;
2014-03-11 18:24:15 -04:00
}
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 16:24:44 -05:00
}
2012-02-29 17:19:18 -05:00
2017-11-30 18:11:00 -05:00
if ( false !== stripos ( $theme -> get_stylesheet (), $word ) ) {
2012-02-29 17:19:18 -05:00
continue ;
2017-11-30 18:11:00 -05:00
}
2012-02-29 17:19:18 -05:00
2017-11-30 18:11:00 -05:00
if ( false !== stripos ( $theme -> get_template (), $word ) ) {
2012-02-29 17:19:18 -05:00
continue ;
2017-11-30 18:11:00 -05:00
}
2012-02-29 17:19:18 -05:00
return false ;
2010-10-24 22:57:43 -04:00
}
return true ;
}
2012-03-02 17:09:26 -05:00
/**
* Send required variables to JavaScript land
*
2013-12-24 21:00:11 -05:00
* @ since 3.4 . 0
2014-11-30 19:33:23 -05:00
*
* @ param array $extra_args
2012-03-02 17:09:26 -05:00
*/
2014-07-13 18:09:16 -04:00
public function _js_vars ( $extra_args = array () ) {
2013-03-01 12:00:25 -05:00
$search_string = isset ( $_REQUEST [ 's' ] ) ? esc_attr ( wp_unslash ( $_REQUEST [ 's' ] ) ) : '' ;
2012-03-02 17:09:26 -05:00
$args = array (
2017-11-30 18:11:00 -05:00
'search' => $search_string ,
'features' => $this -> features ,
'paged' => $this -> get_pagenum (),
2012-03-02 18:06:31 -05:00
'total_pages' => ! empty ( $this -> _pagination_args [ 'total_pages' ] ) ? $this -> _pagination_args [ 'total_pages' ] : 1 ,
2012-03-02 17:09:26 -05:00
);
2017-11-30 18:11:00 -05:00
if ( is_array ( $extra_args ) ) {
2012-03-02 18:06:31 -05:00
$args = array_merge ( $args , $extra_args );
2017-11-30 18:11:00 -05:00
}
2012-03-02 17:09:26 -05:00
2014-10-28 14:35:19 -04:00
printf ( " <script type='text/javascript'>var theme_list_args = %s;</script> \n " , wp_json_encode ( $args ) );
2012-03-02 21:40:43 -05:00
parent :: _js_vars ();
2012-03-02 17:09:26 -05:00
}
2010-10-24 22:57:43 -04:00
}