base = DFlip::get_instance(); $labels = array( 'name' => __( 'dFlip Book', 'DFLIP' ), 'singular_name' => __( 'dFlip Book', 'DFLIP' ), 'menu_name' => __( 'dFlip Books', 'DFLIP' ), 'name_admin_bar' => __( 'dFlip Book', 'DFLIP' ), 'add_new' => __( 'Add New Book', 'DFLIP' ), 'add_new_item' => __( 'Add New Book', 'DFLIP' ), 'new_item' => __( 'New dFlip Book', 'DFLIP' ), 'edit_item' => __( 'Edit dFlip Book', 'DFLIP' ), 'view_item' => __( 'View dFlip Book', 'DFLIP' ), 'all_items' => __( 'All Books', 'DFLIP' ), 'search_items' => __( 'Search dFlip Books', 'DFLIP' ), 'parent_item_colon' => __( 'Parent dFlip Books:', 'DFLIP' ), 'not_found' => __( 'No dFlip-Books found.', 'DFLIP' ), 'not_found_in_trash' => __( 'No dFlip Books found in Trash.', 'DFLIP' ) ); $args = array( 'labels' => $labels, 'description' => __( 'Description.', 'DFLIP' ), 'public' => false, //this removes the permalink option 'publicly_queryable' => false, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => false, //array('slug' => $this->base->slug), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'menu_icon' => 'dashicons-book', 'supports' => array( 'title' ) ); register_post_type( 'dflip', $args ); register_taxonomy( 'dflip_category', 'dflip', array( 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'rewrite' => array( 'slug' => 'dflip_category' ), ) ); if ( is_admin() ) { $this->init_admin(); } } /** * Loads all admin related files into scope. * * @since 1.0.0 */ public function init_admin() { // Remove quick editing from the dFlip post type row actions. add_filter( 'post_row_actions', array( $this, 'remove_quick_edit' ), 10, 1 ); // Manage post type columns. add_filter( 'manage_dflip_posts_columns', array( $this, 'dflip_columns' ) ); add_action( 'manage_dflip_posts_custom_column', array( $this, 'dflip_columns_content' ), 10, 2 ); add_filter( 'manage_edit-dflip_category_columns', array( $this, 'dflip_cat_columns' ) ); add_filter( 'manage_dflip_category_custom_column', array( $this, 'dflip_cat_columns_content' ), 10, 3 ); //Optimize the icons for retina display add_action( 'admin_head', array( $this, 'menu_icon' ) ); } /** * Filter out unnecessary row actions dFlip post table. * * @since 1.0.0 * * @param array $actions Default row actions. * * @return array $actions Amended row actions. */ public function remove_quick_edit( $actions ) { if ( isset( get_current_screen()->post_type ) && 'dflip' == get_current_screen()->post_type ) { unset( $actions['inline hide-if-no-js'] ); } return $actions; } /** * Customize the post columns for the dFlip post type. * * @since 1.0.0 * * @return array $columns New Updated columns. */ public function dflip_columns() { $columns = array( 'cb' => '', 'title' => __( 'Title', 'DFLIP' ), 'shortcode' => __( 'Shortcode', 'DFLIP' ), 'modified' => __( 'Last Modified', 'DFLIP' ), 'date' => __( 'Date', 'DFLIP' ) ); return $columns; } /** * Customize the post columns for the dFlip post type category page * * @since 1.2.9 * * @param array $defaults columns. * * @return array $defaults default columns. */ public function dflip_cat_columns( $defaults ) { $defaults['shortcode'] = 'Shortcode'; return $defaults; } /** * Add data to the custom columns added to the dFlip post type. * * @since 1.0.0 * * @param string $column_name Name of the custom column. * @param int $post_id Current post ID. */ public function dflip_columns_content( $column_name, $post_id ) { $post_id = absint( $post_id ); switch ( $column_name ) { case 'shortcode': echo '[dflip id="' . $post_id . '"][/dflip]'; break; case 'modified' : the_modified_date(); break; } } /** * Add data to the custom columns added to the dFlip post type category page. * * @since 1.2.9 * * @param $c * @param string $column_name Name of the custom column. * @param $term_id * * @return string */ public function dflip_cat_columns_content( $c, $column_name, $term_id = "" ) { return '[dflip books="' . get_term( $term_id, 'dflip_category' )->slug . '"][/dflip]'; } /** * Forces the dFlip menu icon width/height for Retina devices. * * @since 1.0.0 */ public function menu_icon() { ?>