|
@@ 1006-1036 (lines=31) @@
|
| 1003 |
|
$post_type_names = wp_list_pluck( $post_types, 'name', 'id' ); |
| 1004 |
|
$taxonomy_names = wp_list_pluck( $taxonomies, 'name', 'id' ); |
| 1005 |
|
|
| 1006 |
|
foreach ( $existing_post_types as $post_type_name => $post_type_name_again ) { |
| 1007 |
|
if ( isset( self::$content_types_registered['post_types'] ) && in_array( $post_type_name, self::$content_types_registered['post_types'] ) ) { |
| 1008 |
|
// Post type already registered / setup by Pods |
| 1009 |
|
continue; |
| 1010 |
|
} |
| 1011 |
|
|
| 1012 |
|
$pod_id = array_search( $post_type_name, $post_type_names, true ); |
| 1013 |
|
|
| 1014 |
|
if ( ! $pod_id ) { |
| 1015 |
|
// Post type not a pod |
| 1016 |
|
continue; |
| 1017 |
|
} |
| 1018 |
|
|
| 1019 |
|
$pod = $post_types[ $pod_id ]; |
| 1020 |
|
|
| 1021 |
|
// REST API |
| 1022 |
|
$rest_enabled = (boolean) pods_v( 'rest_enable', $pod['options'], false ); |
| 1023 |
|
|
| 1024 |
|
if ( $rest_enabled ) { |
| 1025 |
|
if ( empty( $wp_post_types[ $post_type_name ]->show_in_rest ) ) { |
| 1026 |
|
$rest_base = sanitize_title( pods_v( 'rest_base', $pod['options'], pods_v( 'rest_base', $wp_post_types[ $post_type_name ] ), true ) ); |
| 1027 |
|
|
| 1028 |
|
$wp_post_types[ $post_type_name ]->show_in_rest = true; |
| 1029 |
|
$wp_post_types[ $post_type_name ]->rest_base = $rest_base; |
| 1030 |
|
$wp_post_types[ $post_type_name ]->rest_controller_class = 'WP_REST_Posts_Controller'; |
| 1031 |
|
} |
| 1032 |
|
|
| 1033 |
|
new PodsRESTFields( $post_type_name ); |
| 1034 |
|
} |
| 1035 |
|
} |
| 1036 |
|
|
| 1037 |
|
foreach ( $existing_taxonomies as $taxonomy_name => $taxonomy_name_again ) { |
| 1038 |
|
if ( isset( self::$content_types_registered['taxonomies'] ) && in_array( $taxonomy_name, self::$content_types_registered['taxonomies'] ) ) { |
| 1039 |
|
// Taxonomy already registered / setup by Pods |
|
@@ 1037-1067 (lines=31) @@
|
| 1034 |
|
} |
| 1035 |
|
} |
| 1036 |
|
|
| 1037 |
|
foreach ( $existing_taxonomies as $taxonomy_name => $taxonomy_name_again ) { |
| 1038 |
|
if ( isset( self::$content_types_registered['taxonomies'] ) && in_array( $taxonomy_name, self::$content_types_registered['taxonomies'] ) ) { |
| 1039 |
|
// Taxonomy already registered / setup by Pods |
| 1040 |
|
continue; |
| 1041 |
|
} |
| 1042 |
|
|
| 1043 |
|
$pod_id = array_search( $taxonomy_name, $taxonomy_names, true ); |
| 1044 |
|
|
| 1045 |
|
if ( ! $pod_id ) { |
| 1046 |
|
// Taxonomy not a pod |
| 1047 |
|
continue; |
| 1048 |
|
} |
| 1049 |
|
|
| 1050 |
|
$pod = $taxonomies[ $pod_id ]; |
| 1051 |
|
|
| 1052 |
|
// REST API |
| 1053 |
|
$rest_enabled = (boolean) pods_v( 'rest_enable', $pod['options'], false ); |
| 1054 |
|
|
| 1055 |
|
if ( $rest_enabled ) { |
| 1056 |
|
if ( empty( $wp_taxonomies[ $taxonomy_name ]->show_in_rest ) ) { |
| 1057 |
|
$rest_base = sanitize_title( pods_v( 'rest_base', $pod['options'], pods_v( 'rest_base', $wp_taxonomies[ $taxonomy_name ] ), true ) ); |
| 1058 |
|
|
| 1059 |
|
$wp_taxonomies[ $taxonomy_name ]->show_in_rest = true; |
| 1060 |
|
$wp_taxonomies[ $taxonomy_name ]->rest_base = $rest_base; |
| 1061 |
|
$wp_taxonomies[ $taxonomy_name ]->rest_controller_class = 'WP_REST_Terms_Controller'; |
| 1062 |
|
} |
| 1063 |
|
|
| 1064 |
|
new PodsRESTFields( $taxonomy_name ); |
| 1065 |
|
} |
| 1066 |
|
} |
| 1067 |
|
|
| 1068 |
|
if ( ! empty( PodsMeta::$user ) ) { |
| 1069 |
|
$pod = current( PodsMeta::$user ); |
| 1070 |
|
|