Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* Register post meta (note: you might want to alter the callbacks). */
- function prefix_store_register_meta() {
- register_meta( 'post', '_store_url', 'esc_url_raw', '__return_true' );
- register_meta( 'post', '_store_client', 'strip_tags', '__return_true' );
- register_meta( 'post', '_store_location', 'strip_tags', '__return_true' );
- register_meta( 'post', '_store_start_date', 'strip_tags', '__return_true' );
- register_meta( 'post', '_store_end_date', 'strip_tags', '__return_true' );
- }
- /* Register the Portfolio Project post type. */
- function prefix_store_register_post_types() {
- register_post_type(
- 'store',
- array(
- 'description' => '',
- 'public' => true,
- 'publicly_queryable' => true,
- 'show_in_nav_menus' => false,
- 'show_in_admin_bar' => true,
- 'exclude_from_search' => false,
- 'show_ui' => true,
- 'show_in_menu' => true,
- 'menu_position' => 1,
- 'menu_icon' => 'dashicons-store',
- 'can_export' => true,
- 'delete_with_user' => false,
- 'hierarchical' => false,
- 'has_archive' => 'maggy-butikker',
- 'query_var' => 'store',
- 'capability_type' => 'store',
- 'map_meta_cap' => true,
- /* Capabilities. */
- 'capabilities' => array(
- 'edit_post' => 'edit_store',
- 'read_post' => 'read_store',
- 'delete_post' => 'delete_store',
- 'create_posts' => 'create_store',
- 'edit_posts' => 'edit_store',
- 'edit_others_posts' => 'manage_store',
- 'publish_posts' => 'manage_store',
- 'read_private_posts' => 'read',
- 'read' => 'read',
- 'delete_posts' => 'manage_store',
- 'delete_private_posts' => 'manage_store',
- 'delete_published_posts' => 'manage_store',
- 'delete_others_posts' => 'manage_store',
- 'edit_private_posts' => 'edit_store',
- 'edit_published_posts' => 'edit_store'
- ),
- /* The rewrite handles the URL structure. */
- 'rewrite' => array(
- 'slug' => 'maggy-butikker',
- 'with_front' => false,
- 'pages' => true,
- 'feeds' => true,
- 'ep_mask' => EP_PERMALINK,
- ),
- /* What features the post type supports. */
- 'supports' => array(
- 'title',
- 'editor',
- 'excerpt',
- 'author',
- 'thumbnail'
- ),
- /* Labels used when displaying the posts. */
- 'labels' => array(
- 'name' => __( 'Butikker', 'example-textdomain' ),
- 'singular_name' => __( 'Butikk', 'example-textdomain' ),
- 'menu_name' => __( 'Butikker', 'example-textdomain' ),
- 'name_admin_bar' => __( 'Butikker', 'example-textdomain' ),
- 'add_new' => __( 'Ny butikk', 'example-textdomain' ),
- 'add_new_item' => __( 'Legg til ny butikk', 'example-textdomain' ),
- 'edit_item' => __( 'Rediger Butikk', 'example-textdomain' ),
- 'new_item' => __( 'Ny butikk', 'example-textdomain' ),
- 'view_item' => __( 'Se Butikker', 'example-textdomain' ),
- 'search_items' => __( 'Søk Butikker', 'example-textdomain' ),
- 'not_found' => __( 'Ingen butikker funnet', 'example-textdomain' ),
- 'not_found_in_trash' => __( 'Ingen butikker funnet i søppelkurven', 'example-textdomain' ),
- 'all_items' => __( 'Butikker', 'example-textdomain' ),
- )
- )
- );
- }
- /* Register the Portfolio Category taxonomy. */
- function prefix_store_register_taxonomies() {
- register_taxonomy(
- 'store_category',
- array( 'store' ),
- array(
- 'public' => true,
- 'show_ui' => true,
- 'show_in_nav_menus' => true,
- 'show_tagcloud' => true,
- 'show_admin_column' => true,
- 'hierarchical' => true,
- 'query_var' => 'store_category',
- /* Capabilities. */
- 'capabilities' => array(
- 'manage_terms' => 'manage_store',
- 'edit_terms' => 'manage_store',
- 'delete_terms' => 'manage_store',
- 'assign_terms' => 'edit_store',
- ),
- /* The rewrite handles the URL structure. */
- 'rewrite' => array(
- 'slug' => 'butikker/category',
- 'with_front' => false,
- 'hierarchical' => true,
- 'ep_mask' => EP_NONE
- ),
- /* Labels used when displaying taxonomy and terms. */
- 'labels' => array(
- 'name' => __( 'Butikkategorier', 'example-textdomain' ),
- 'singular_name' => __( 'Butikkategori', 'example-textdomain' ),
- 'menu_name' => __( 'Kategorier', 'example-textdomain' ),
- 'name_admin_bar' => __( 'Kategori', 'example-textdomain' ),
- 'search_items' => __( 'Søk i kategorier', 'example-textdomain' ),
- 'popular_items' => __( 'Populære kategorier', 'example-textdomain' ),
- 'all_items' => __( 'Alle kategorier', 'example-textdomain' ),
- 'edit_item' => __( 'Rediger kategori', 'example-textdomain' ),
- 'view_item' => __( 'Se kategori', 'example-textdomain' ),
- 'update_item' => __( 'Oppdater kategori', 'example-textdomain' ),
- 'add_new_item' => __( 'Legg til ny kategori', 'example-textdomain' ),
- 'new_item_name' => __( 'Nytt kategorinavn', 'example-textdomain' ),
- 'parent_item' => __( 'Overordnet kategori', 'example-textdomain' ),
- 'parent_item_colon' => __( 'Overordnet kategori:', 'example-textdomain' ),
- 'separate_items_with_commas' => null,
- 'add_or_remove_items' => null,
- 'choose_from_most_used' => null,
- 'not_found' => null,
- )
- )
- );
- /* Register the Portfolio Tag taxonomy. */
- register_taxonomy(
- 'store_tag',
- array( 'store' ),
- array(
- 'public' => true,
- 'show_ui' => true,
- 'show_in_nav_menus' => true,
- 'show_tagcloud' => true,
- 'show_admin_column' => true,
- 'hierarchical' => false,
- 'query_var' => 'store_tag',
- /* Capabilities. */
- 'capabilities' => array(
- 'manage_terms' => 'manage_store',
- 'edit_terms' => 'manage_store',
- 'delete_terms' => 'manage_store',
- 'assign_terms' => 'edit_store',
- ),
- /* The rewrite handles the URL structure. */
- 'rewrite' => array(
- 'slug' => 'store/tag',
- 'with_front' => false,
- 'hierarchical' => false,
- 'ep_mask' => EP_NONE
- ),
- /* Labels used when displaying taxonomy and terms. */
- 'labels' => array(
- 'name' => __( 'Butikk-tagger', 'example-textdomain' ),
- 'singular_name' => __( 'Butikk-tag', 'example-textdomain' ),
- 'menu_name' => __( 'Tagger', 'example-textdomain' ),
- 'name_admin_bar' => __( 'Tag', 'example-textdomain' ),
- 'search_items' => __( 'Søk tagger', 'example-textdomain' ),
- 'popular_items' => __( 'Populære tagger', 'example-textdomain' ),
- 'all_items' => __( 'Alle tagger', 'example-textdomain' ),
- 'edit_item' => __( 'Rediger tagger', 'example-textdomain' ),
- 'view_item' => __( 'Se tagger', 'example-textdomain' ),
- 'update_item' => __( 'Oppdater tagger', 'example-textdomain' ),
- 'add_new_item' => __( 'Legg til ny tag', 'example-textdomain' ),
- 'new_item_name' => __( 'Nytt tag-navn', 'example-textdomain' ),
- 'separate_items_with_commas' => __( 'Separer tagger med komma', 'example-textdomain' ),
- 'add_or_remove_items' => __( 'Legg til eller fjern tagger', 'example-textdomain' ),
- 'choose_from_most_used' => __( 'Velg mellom mest brukte tagger', 'example-textdomain' ),
- 'not_found' => __( 'Ingen tagger funnet', 'example-textdomain' ),
- 'parent_item' => null,
- 'parent_item_colon' => null,
- )
- )
- );
- }
- //Init
- function add_testimonial_caps_to_admin() {
- $caps = array(
- 'edit_post' => 'edit_store',
- 'read_post' => 'read_store',
- 'delete_post' => 'delete_store',
- 'create_posts' => 'create_store',
- 'edit_posts' => 'edit_store',
- 'edit_others_posts' => 'manage_store',
- 'publish_posts' => 'manage_store',
- 'read_private_posts' => 'read',
- 'read' => 'read',
- 'delete_posts' => 'manage_store',
- 'delete_private_posts' => 'manage_store',
- 'delete_published_posts' => 'manage_store',
- 'delete_others_posts' => 'manage_store',
- 'edit_private_posts' => 'edit_store',
- 'edit_published_posts' => 'edit_store'
- //Må hentes fra capabilities ovenfor og ikke repeteres på nytt
- );
- $roles = array(
- get_role( 'administrator' ),
- get_role( 'editor' ),
- );
- foreach ($roles as $role) {
- foreach ($caps as $cap) {
- $role->add_cap( $cap );
- }
- }
- }
- add_action( 'init', 'prefix_store_register_meta' );
- add_action( 'init', 'prefix_store_register_post_types' );
- add_action( 'init', 'prefix_store_register_taxonomies' );
- add_action( 'init', 'add_testimonial_caps_to_admin' );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement