Skip to content

Instantly share code, notes, and snippets.

Last active October 14, 2020 19:53
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
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