1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
<?php
namespace hji\geofarms\models;
use \hji\geofarms\GeoFarms;
class CPT
{
public function create_post_type()
{
$settings = get_option(GeoFarms::$settings_key);
$labels = array(
'name' => _x( GeoFarms::NAME, 'hji_geo_farms' ),
'singular_name' => _x( 'Area', 'hji_geo_farms' ),
'add_new' => _x( 'Add New', 'hji_geo_farms' ),
'add_new_item' => _x( 'Add New Area', 'hji_geo_farms' ),
'edit_item' => _x( 'Edit Area', 'hji_geo_farms' ),
'new_item' => _x( 'New Area', 'hji_geo_farms' ),
'view_item' => _x( 'View Area', 'hji_geo_farms' ),
'search_items' => _x( 'Search Areas', 'hji_geo_farms' ),
'not_found' => _x( 'No areas found.', 'hji_geo_farms' ),
'not_found_in_trash' => _x( 'No areas found in Trash.', 'hji_geo_farms' ),
'parent_item_colon' => _x( 'Parent Area:', 'hji_geo_farms' ),
'menu_name' => _x( GeoFarms::NAME, 'hji_geo_farms' ),
'all_items' => _x( 'All Areas', 'hji_geo_farms' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'description' => 'Featured areas.',
'supports' => array( 'title', 'editor', 'thumbnail', 'revisions', 'page-attributes' ),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 20,
'menu_icon' => GeoFarms::$images . '/admin-menu.png',
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'has_archive' => false,
'query_var' => true,
'can_export' => true,
'rewrite' => array(
'slug' => $settings['general']['hji_geo_farms_page_slug'],
'with_front' => true,
'feeds' => false,
'pages' => false
),
'capability_type' => 'post'
);
register_post_type( GeoFarms::$post_type, $args );
}
public function post_updated_messages($messages)
{
global $post;
$messages[GeoFarms::$post_type] = array
(
0 => '',
1 => sprintf('%s updated. <a href="%s">View %s</a>', 'Area',
esc_url(get_permalink($post->ID)), 'area'),
2 => 'Custom field updated.',
3 => 'Custom field deleted.',
4 => sprintf('%s updated.', 'Area'),
5 => isset($_GET['revision']) ? sprintf('%s restored to revision from %s', 'Area',
wp_post_revision_title((int)$_GET['revision'], false)) : false,
6 => sprintf('%s published. <a href="%s">View %s</a>', 'Area',
esc_url(get_permalink($post->ID)), 'area'),
7 => sprintf('%s saved.', 'Area'),
8 => sprintf('%s submitted. <a target="_blank" href="%s">Preview %s</a>', 'Area',
esc_url(add_query_arg('preview', 'true', get_permalink($post->ID))), 'area'),
9 => sprintf('%s scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview %s</a>',
'Area',
date_i18n(__('M j, Y @ G:i'), strtotime($post->post_date)), esc_url(get_permalink($post->ID)),
'area'),
10 => sprintf('%s draft updated. <a target="_blank" href="%s">Preview %s</a>',
'Area', esc_url(add_query_arg('preview', 'true', get_permalink($post->ID))),
'area'),
);
return $messages;
}
}