12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- /**
- * Returns available templates for each post type.
- *
- * @date 29/8/17
- * @since 5.6.2
- *
- * @param void
- * @return array
- */
- function acf_get_post_templates() {
- // Check store.
- $cache = acf_get_data( 'post_templates' );
- if ( $cache !== null ) {
- return $cache;
- }
- // Initialize templates with default placeholder for pages.
- $post_templates = array();
- $post_templates['page'] = array();
- // Loop over post types and append their templates.
- if ( method_exists( 'WP_Theme', 'get_page_templates' ) ) {
- $post_types = get_post_types();
- foreach ( $post_types as $post_type ) {
- $templates = wp_get_theme()->get_page_templates( null, $post_type );
- if ( $templates ) {
- $post_templates[ $post_type ] = $templates;
- }
- }
- }
- // Update store.
- acf_set_data( 'post_templates', $post_templates );
- // Return templates.
- return $post_templates;
- }
|