Skip to content

Instantly share code, notes, and snippets.



Last active Oct 14, 2020
What would you like to do?
Create custom "restaurant" post type
Assuming you create this file in your "lib" directory, add this file into your functions.php like this:
require_once get_template_directory() . '/lib/restaurants.php';
if (!class_exists('theme_restaurants')) {
class theme_restaurants
public function __construct()
add_action('init', array($this, 'restaurants'), 0);
public static function restaurants()
$labels = array(
'name' => _x('Restaurants', 'Post Type General Name', 'text_domain'),
'singular_name' => _x('Restaurant', 'Post Type Singular Name', 'text_domain'),
'menu_name' => __('Restaurants', 'text_domain'),
'name_admin_bar' => __('Restaurants', 'text_domain'),
'archives' => __('Restaurants', 'text_domain'),
'parent_item_colon' => __('Parent Restaurant:', 'text_domain'),
'all_items' => __('All Restaurants', 'text_domain'),
'add_new_item' => __('Add New Restaurant', 'text_domain'),
'add_new' => __('Add New', 'text_domain'),
'new_item' => __('New Restaurant', 'text_domain'),
'edit_item' => __('Edit Restaurant', 'text_domain'),
'update_item' => __('Update Restaurant', 'text_domain'),
'view_item' => __('View Restaurant', 'text_domain'),
'search_items' => __('Search Restaurant', 'text_domain'),
'not_found' => __('Not found', 'text_domain'),
'not_found_in_trash' => __('Not found in Trash', 'text_domain'),
'featured_image' => __('Featured Image', 'text_domain'),
'set_featured_image' => __('Set featured image', 'text_domain'),
'remove_featured_image' => __('Remove featured image', 'text_domain'),
'use_featured_image' => __('Use as featured image', 'text_domain'),
'insert_into_item' => __('Insert into Restaurant', 'text_domain'),
'uploaded_to_this_item' => __('Uploaded to this Restaurant', 'text_domain'),
'items_list' => __('Restaurants list', 'text_domain'),
'items_list_navigation' => __('Restaurants list navigation', 'text_domain'),
'filter_items_list' => __('Filter products list', 'text_domain')
$args = array(
'label' => __('Restaurant', 'text_domain'),
'description' => __('Restaurants completed', 'text_domain'),
'labels' => $labels,
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
'taxonomies' => array(),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 25,
'menu_icon' => 'dashicons-food',
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'show_in_rest' => true,
register_post_type('restaurants', $args);
new theme_restaurants();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.