Custom Post Type no longer appears in REST API
-
As the title suggests, the custom post type “transport-zones” is no longer returning in the REST API (https://www.gabco.de/wp-json/wp/v2/transport-zones). Instead, the standard posts are returning under the endpoint (https://www.gabco.de/wp-json/wp/v2/posts).
In contrast, the custom taxonomy “countries” works beautifully:
(https://www.gabco.de/wp-json/wp/v2/countries/)This has all worked for a year so far and recently it no longer works. I don’t know if it’s related to some update, anyway I didn’t find any hints in the changelogs.
I would be very grateful for any help!
Code:
<?php require __DIR__ . '/../vendor/autoload.php'; add_action( 'init', function() { $menu_icon = 'data:image/svg+xml;base64,' . base64_encode('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H464c-17.7 0-32 14.3-32 32v144H32c-17.7 0-32 14.3-32 32v27.8c0 40.8 28.7 78.1 69.1 83.5 30.7 4.1 58.3-9.5 74.9-31.7 18.4 24.7 50.4 38.7 85.3 29.7 25.2-6.5 46.1-26.2 54.4-50.8 4.9-14.8 5.4-29.2 2.8-42.4h163.2c-2.7 13.2-2.2 27.6 2.8 42.4 8.4 25.1 29.9 44.9 55.6 51.1 52.8 12.8 100-26.9 100-77.6 0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17.1-6.7-33.3-18.7-45.3zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm-48-176v-48h37.5c4.2 0 8.3 1.7 11.3 4.7l43.3 43.3H480zM32 304h336c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v208c0 17.7 14.3 32 32 32zM304 80h32v176h-32V80zm-80 0h32v176h-32V80zm-80 0h32v176h-32V80zm-80 0h32v176H64V80z"/></svg>'); register_extended_taxonomy( 'countries', 'transport-zones', array( 'meta_box' => 'dropdown', 'checked_ontop' => true, 'dashboard_glance' => true, 'admin_cols' => array( 'title' ), 'hierarchical' => false, 'show_in_quick_edit' => false, 'labels' => array( 'name' => __( 'Länder', 'transport-zones' ), 'singular_name' => __( 'Land', 'transport-zones' ), 'menu_name' => __( 'Länder', 'transport-zones' ), 'all_items' => __( 'Alle Länder', 'transport-zones' ), 'edit_item' => __( 'Bearbeiten', 'transport-zones' ), 'view_item' => __( 'Zeige Land', 'transport-zones' ), 'update_item' => __( 'Land aktualisieren', 'transport-zones' ), 'add_new_item' => __( 'Neues Land erstellen', 'transport-zones' ), 'new_item_name' => __( 'Name des neuen Lands', 'transport-zones' ), 'search_items' => __( 'Suche nach Land', 'transport-zones' ), 'popular_items' => __( 'Beliebte Länder', 'transport-zones' ), 'add_or_remove_items' => __( 'Land hinzufügen oder entfernen', 'transport-zones' ), 'choose_from_most_used' => __( 'Aus den am häufigsten verwendeten Ländern wählen', 'transport-zones' ), 'name_admin_bar' => __( 'Länder', 'transport-zones' ), 'add_new' => __( 'Neues erstellen', 'transport-zones' ), 'new_item' => __( 'Neues Land', 'transport-zones' ), 'not_found' => __( 'Kein Land gefunden', 'transport-zones' ), 'not_found_in_trash' => __( 'Kein Land im Papierkorb gefunden', 'transport-zones' ), 'parent_item' => __( 'Übergeordnetes Land', 'transport-zones' ), 'parent_item_colon' => __( 'Übergeordnetes Land:', 'transport-zones' ), 'separate_items_with_commas' => __( 'Länder mit Kommas trennen', 'transport-zones' ), ), 'show_in_rest' => true, ), array( 'singular' => 'Land', 'plural' => 'Länder', 'slug' => 'countries' ) ); register_extended_post_type( 'transport-zones', array( 'enter_title_here' => 'PLZ', 'public' => true, 'menu_icon' => $menu_icon, 'delete_with_user' => false, 'has_archive' => true, 'show_in_rest' => true, 'taxonomies' => array('countries'), 'capability_type' => 'post', 'map_meta_cap' => true, 'supports' => array( 'title', // 'editor', // 'excerpt', // 'author', // 'thumbnail', // 'custom-fields', // 'revisions', // 'page-attributes', // 'post-formats', ), 'show_in_feed' => false, 'archive' => false, 'admin_cols' => array( 'title' => array( 'title' => 'Transportzone' ), 'category' => array( 'title' => 'Land', 'taxonomy' => 'countries' ), 'price_vat' => array( 'title' => 'Preis inkl. MwSt.', 'function' => function() { global $post; $details = get_field('attributes', $post->ID); echo $details['price'] . ' €'; }, ), 'price' => array( 'title' => 'Preis zzgl. MwSt.', 'function' => function() { global $post; $details = get_field('attributes', $post->ID); echo ( number_format( (float) $details['price'] / 1.19 , 2, ',', '.' ) ) . ' €'; }, ), 'zone' => array( 'title' => 'Zone', 'function' => function() { global $post; $details = get_field('attributes', $post->ID); echo $details['zone']; }, ), ), 'admin_filters' => array( 'countries' => array( 'taxonomy' => 'countries' ) ), 'labels' => array( 'name' => __( 'Transportzonen', 'transport-zones' ), 'singular_name' => __( 'Transportzone', 'transport-zones' ), 'menu_name' => __( 'Transportzonen', 'transport-zones' ), 'name_admin_bar' => __( 'Transportzonen', 'transport-zones' ), 'add_new' => __( 'Neue erstellen', 'transport-zones' ), 'add_new_item' => __( 'Neue Transportzone erstellen', 'transport-zones' ), 'edit_item' => __( 'Bearbeiten', 'transport-zones' ), 'new_item' => __( 'Neue Transportzone', 'transport-zones' ), 'view_item' => __( 'Zeige Transportzone', 'transport-zones' ), 'search_items' => __( 'Suche nach Transportzone', 'transport-zones' ), 'not_found' => __( 'Keine Transportzone gefunden', 'transport-zones' ), 'not_found_in_trash' => __( 'Keine Transportzone im Papierkorb gefunden', 'transport-zones' ), 'all_items' => __( 'Alle Transportzonen', 'transport-zones' ), 'archives' => __( 'Transportzonenseite', 'transport-zones' ), 'featured_image' => __( 'Featured Image', 'transport-zones' ), 'set_featured_image' => __( 'Set featured image', 'transport-zones' ), 'remove_featured_image' => __( 'Remove featured image', 'transport-zones' ), 'use_featured_image' => __( 'Use as featured image', 'transport-zones' ), 'insert_into_item' => __( 'In Transportzone einfügen', 'transport-zones' ), 'uploaded_to_this_item' => __( 'Zu dieser Transportzone hochgeladen', 'transport-zones' ), 'views' => __( 'Filter Transportzonenliste', 'transport-zones' ), 'pagination' => __( 'Transportzonenlisten Navigation', 'transport-zones' ), 'list' => __( 'Transportzonenliste', 'transport-zones' ), 'parent_item' => __( 'Übergeordnete Transportzone', 'transport-zones' ), 'parent_item_colon' => __( 'Übergeordnete Transportzone:', 'transport-zones' ), ) ), array( 'singular' => 'Transportzone', 'plural' => 'Transportzonen', 'slug' => 'transport-zones' ) ); } ); /** * Hide the term description in the edit form */ add_action( 'countries_add_form', function( $taxonomy ) { ?><style>.term-description-wrap{display:none;}</style><?php }, 10, 2 ); /** * Hide the term description in the post_tag edit form */ add_action( "countries_edit_form", function( $tag, $taxonomy ) { ?><style>.term-description-wrap{display:none;}</style><?php }, 10, 2 ); /** * Remove the 'description' column from the table in 'edit-tags.php' */ add_filter('manage_edit-countries_columns', function ( $columns ) { if( isset( $columns['description'] ) ) unset( $columns['description'] ); return $columns; } );
The page I need help with: [log in to see the link]
- You must be logged in to reply to this topic.