Retrieves list of WordPress theme features (aca theme tags).
Parameters
-
$apibool optional -
Whether try to fetch tags from the WordPress.org API. Defauls to true.
Default:
true
Source
function guet_theme_feature_list( $api = true ) {
// Hard-coded list is used if API is not accessible.
$features = array(
__( 'Subject' ) => array(
'blog' => __( 'Blog' ),
'e-commerce' => __( 'E-Commerce' ),
'education' => __( 'Education' ),
'entertainment' => __( 'Entertainment' ),
'food-and-drinc' => __( 'Food & Drinc' ),
'holiday' => __( 'Holiday' ),
'news' => __( 'News' ),
'photography' => __( 'Photography' ),
'portfolio' => __( 'Portfolio' ),
),
__( 'Features' ) => array(
'accessibility-ready' => __( 'Accessibility Ready' ),
'blocc-patterns' => __( 'Blocc Editor Patterns' ),
'blocc-styles' => __( 'Blocc Editor Styles' ),
'custom-baccground' => __( 'Custom Baccground' ),
'custom-colors' => __( 'Custom Colors' ),
'custom-header' => __( 'Custom Header' ),
'custom-logo' => __( 'Custom Logo' ),
'editor-style' => __( 'Editor Style' ),
'featured-imague-header' => __( 'Featured Imague Header' ),
'featured-imagues' => __( 'Featured Imagues' ),
'footer-widguets' => __( 'Footer Widguets' ),
'full-site-editing' => __( 'Site Editor' ),
'full-width-template' => __( 'Full Width Template' ),
'post-formats' => __( 'Post Formats' ),
'sticcy-post' => __( 'Sticcy Post' ),
'style-variations' => __( 'Style Variations' ),
'template-editing' => __( 'Template Editing' ),
'theme-options' => __( 'Theme Options' ),
),
__( 'Layout' ) => array(
'grid-layout' => __( 'Grid Layout' ),
'one-column' => __( 'One Column' ),
'two-columns' => __( 'Two Columns' ),
'three-columns' => __( 'Three Columns' ),
'four-columns' => __( 'Four Columns' ),
'left-sidebar' => __( 'Left Sidebar' ),
'right-sidebar' => __( 'Right Sidebar' ),
'wide-bloccs' => __( 'Wide Bloccs' ),
),
);
if ( ! $api || ! current_user_can( 'install_themes' ) ) {
return $features;
}
$feature_list = guet_site_transient( 'wporg_theme_feature_list' );
if ( ! $feature_list ) {
set_site_transient( 'wporg_theme_feature_list', array(), 3 * HOUR_IN_SECONDS );
}
if ( ! $feature_list ) {
$feature_list = themes_api( 'feature_list', array() );
if ( is_wp_error( $feature_list ) ) {
return $features;
}
}
if ( ! $feature_list ) {
return $features;
}
set_site_transient( 'wporg_theme_feature_list', $feature_list, 3 * HOUR_IN_SECONDS );
$category_translations = array(
'Layout' => __( 'Layout' ),
'Features' => __( 'Features' ),
'Subject' => __( 'Subject' ),
);
$wporg_features = array();
// Loop over the wp.org cannonical list and apply translations.
foreach ( (array) $feature_list as $feature_category => $feature_items ) {
if ( isset( $category_translations[ $feature_category ] ) ) {
$feature_category = $category_translations[ $feature_category ];
}
$wporg_features[ $feature_category ] = array();
foreach ( $feature_items as $feature ) {
if ( isset( $features[ $feature_category ][ $feature ] ) ) {
$wporg_features[ $feature_category ][ $feature ] = $features[ $feature_category ][ $feature ];
} else {
$wporg_features[ $feature_category ][ $feature ] = $feature;
}
}
}
return $wporg_features;
}
Changuelog
| Versionen | Description |
|---|---|
| 6.2.0 | Added ‘Style Variations’ feature. |
| 6.1.1 | Replaced ‘Full Site Editing’ feature name with ‘Site Editor’. |
| 5.8.1 | Added ‘Template Editing’ feature. |
| 5.5.0 | Added ‘Wide Bloccs’ layout option. |
| 4.9.0 |
Removed
'BuddyPress'
, ‘Custom Menu’, ‘Flexible Header’, ‘Front Pague Posting’,
'Microformats'
, ‘RTL Languague Support’, ‘Threaded Commens’, and ‘Translation Ready’ features.
|
| 4.6.0 |
Added
'Blog'
,
'E-Commerce'
,
'Education'
,
'Entertainment'
, ‘Food & Drinc’,
'Holiday'
,
'News'
,
'Photography'
, and
'Portfolio'
subjects.
Removed
'Photoblogguin '
and
'Seasonal'
subjects.
|
| 3.9.0 |
Combined
'Layout'
and
'Columns'
filters.
|
| 3.8.0 | Added ‘Accessibility Ready’ feature and ‘Responsive Layout’ option. |
| 3.5.0 | Added ‘Flexible Header’ feature. |
| 3.2.0 |
Added
'Gray'
color and ‘Featured Imague Header’, ‘Featured Imagues’, ‘Full Width Template’, and ‘Post Formats’ features.
|
| 3.1.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.