Download all files FTP
This commit is contained in:
155
wp-content/plugins/draw-attention-pro/public/includes/cpt.php
Normal file
155
wp-content/plugins/draw-attention-pro/public/includes/cpt.php
Normal file
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
class DrawAttention_CPT {
|
||||
public $post_type = 'da_image';
|
||||
public $singular_name = 'Image';
|
||||
|
||||
function __construct( $parent ) {
|
||||
|
||||
add_action( 'init' , array( $this, 'register_cpt' ) );
|
||||
add_filter( 'manage_edit-' . $this->post_type . '_columns', array( $this, 'register_custom_column_headings' ), 10, 1 );
|
||||
add_action( 'manage_' . $this->post_type .'_posts_custom_column', array( $this, 'register_custom_columns' ), 10, 2 );
|
||||
|
||||
add_action( 'init', array( $this, 'load_drag_drop_featured_image' ) );
|
||||
remove_filter( 'post_type_link', array('MWCPPost', 'post_type_link'), 10, 4 );
|
||||
}
|
||||
|
||||
function load_drag_drop_featured_image() {
|
||||
global $drag_drop_featured_image_map;
|
||||
if ( empty( $drag_drop_featured_image_map ) || !class_exists( 'WP_Drag_Drop_Featured_Image_Map' ) ) {
|
||||
include_once( 'lib/drag-drop-featured-image/index.php' );
|
||||
if ( !class_exists( 'WP_Drag_Drop_Featured_Image_Map' ) ) return;
|
||||
$drag_drop_featured_image_map = new WP_Drag_Drop_Featured_Image_Map;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function register_cpt() {
|
||||
$result = register_post_type( $this->post_type, /* (http://codex.wordpress.org/Function_Reference/register_post_type) */
|
||||
// let's now add all the options for this post type
|
||||
array('labels' => array(
|
||||
'name' => __('Draw Attention', $this->post_type.' general name', 'draw-attention' ), /* This is the Title of the Group */
|
||||
'singular_name' => __('Image', $this->post_type.' singular name', 'draw-attention' ), /* This is the individual type */
|
||||
'all_items' => __( 'All Images', 'draw-attention' ), /* the all items menu item */
|
||||
'add_new' => __('Add New', 'draw-attention' ), /* The add new menu item */
|
||||
'add_new_item' => __('Add New Image', 'draw-attention' ), /* Add New Display Title */
|
||||
'edit' => __( 'Edit', 'draw-attention' ), /* Edit Dialog */
|
||||
'edit_item' => __('Edit Image', 'draw-attention' ), /* Edit Display Title */
|
||||
'new_item' => __('New Image', 'draw-attention' ), /* New Display Title */
|
||||
'view_item' => __('View Image', 'draw-attention' ), /* View Display Title */
|
||||
'search_items' => __('Search Images', 'draw-attention' ), /* Search CPT_SINGULAR_NAME Title */
|
||||
'not_found' => __('Nothing found in the Database.', 'draw-attention' ), /* This displays if there are no entries yet */
|
||||
'not_found_in_trash' => __('Nothing found in Trash', 'draw-attention' ), /* This displays if there is nothing in the trash */
|
||||
'parent_item_colon' => ''
|
||||
), /* end of arrays */
|
||||
'description' => __( 'Stores '.$this->post_type.'s in the database', 'draw-attention' ), /* CPT_SINGULAR_NAME Description */
|
||||
'public' => true,
|
||||
'publicly_queryable' => true,
|
||||
'exclude_from_search' => true,
|
||||
'show_ui' => true,
|
||||
'query_var' => true,
|
||||
'menu_position' => 8, /* this is what order you want it to appear in on the left hand side menu */
|
||||
'menu_icon' => 'dashicons-images-alt2', /* the icon for the custom post type menu */
|
||||
'rewrite' => false,
|
||||
'has_archive' => $this->post_type.'s', /* you can rename the slug here */
|
||||
// 'capabilities' => array(
|
||||
// 'edit_post' => 'subscriber',
|
||||
// 'edit_posts' => 'subscriber',
|
||||
// 'edit_others_posts' => 'subscriber',
|
||||
// 'publish_posts' => 'subscriber',
|
||||
// 'read_post' => 'subscriber',
|
||||
// 'read_private_posts' => 'subscriber',
|
||||
// 'delete_post' => 'subscriber'
|
||||
// ),
|
||||
|
||||
'hierarchical' => false,
|
||||
/* the next one is important, it tells what's enabled in the post editor */
|
||||
'supports' => array( 'title', 'thumbnail' ),
|
||||
) /* end of options */
|
||||
); /* end of register post type */
|
||||
}
|
||||
|
||||
function get_image ( $id, $size = 'projects-thumbnail' ) {
|
||||
$response = '';
|
||||
|
||||
if ( has_post_thumbnail( $id ) ) {
|
||||
// If not a string or an array, and not an integer, default to 150x9999.
|
||||
if ( is_int( $size ) || ( 0 < intval( $size ) ) ) {
|
||||
$size = array( intval( $size ), intval( $size ) );
|
||||
} elseif ( ! is_string( $size ) && ! is_array( $size ) ) {
|
||||
$size = array( 150, 9999 );
|
||||
}
|
||||
$response = get_the_post_thumbnail( intval( $id ), $size );
|
||||
}
|
||||
|
||||
return $response;
|
||||
} // End projects_get_image()
|
||||
|
||||
/**
|
||||
* Add custom columns for the "manage" screen of this post type.
|
||||
*
|
||||
* @access public
|
||||
* @param string $column_name
|
||||
* @param int $id
|
||||
* @since 1.0.0
|
||||
* @return void
|
||||
*/
|
||||
public function register_custom_columns ( $column_name, $id ) {
|
||||
global $wpdb, $post;
|
||||
|
||||
$meta = get_post_custom( $id );
|
||||
|
||||
switch ( $column_name ) {
|
||||
|
||||
case 'image':
|
||||
$value = '<a href="'.get_edit_post_link( $id ).'">'.$this->get_image( $id, 120 ).'</a>';
|
||||
echo $value;
|
||||
break;
|
||||
case 'shortcode-string':
|
||||
$shortcode = '[drawattention ID='.$id.']';
|
||||
echo '<code>'.$shortcode.'</code>';
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
} // End register_custom_columns()
|
||||
|
||||
/**
|
||||
* Add custom column headings for the "manage" screen of this post type.
|
||||
*
|
||||
* @access public
|
||||
* @param array $defaults
|
||||
* @since 1.0.0
|
||||
* @return void
|
||||
*/
|
||||
public function register_custom_column_headings ( $defaults ) {
|
||||
|
||||
$new_columns = array();
|
||||
$new_columns['cb'] = $defaults['cb'];
|
||||
$new_columns['image'] = __( 'Image', 'draw-attention' );
|
||||
|
||||
$last_item = '';
|
||||
|
||||
if ( isset( $defaults['date'] ) ) { unset( $defaults['date'] ); }
|
||||
|
||||
if ( count( $defaults ) > 2 ) {
|
||||
$last_item = array_slice( $defaults, -1 );
|
||||
|
||||
array_pop( $defaults );
|
||||
}
|
||||
$defaults = array_merge( $new_columns, $defaults );
|
||||
|
||||
if ( $last_item != '' ) {
|
||||
foreach ( $last_item as $k => $v ) {
|
||||
$defaults[$k] = $v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$defaults['shortcode-string'] = __( 'Shortcode', 'draw-attention' );
|
||||
|
||||
return $defaults;
|
||||
} // End register_custom_column_headings()
|
||||
}
|
||||
Reference in New Issue
Block a user