Created
November 13, 2012 00:17
-
-
Save davemac/4062981 to your computer and use it in GitHub Desktop.
Orbit Slider as WordPress custom post type
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| add_image_size( 'slider-image-large', 640, 280, true ); | |
| // Homepage Slider | |
| add_action('init', 'register_dmc_orbit_slider'); | |
| function register_dmc_orbit_slider() { | |
| $labels = array( | |
| 'name' => _x( 'Homepage Slider', 'post type general name' ), | |
| 'singular_name' => _x( 'Homepage Slider', 'post type singular name' ), | |
| 'add_new' => _x( 'Add New', 'Homepage Slider' ), | |
| 'add_new_item' => __( 'Add New Homepage Slider' ), | |
| 'edit_item' => __( 'Edit Homepage Slider' ), | |
| 'new_item' => __( 'New Homepage Slider' ), | |
| 'all_items' => __( 'All Homepage Sliders' ), | |
| 'view_item' => __( 'View Homepage Slider' ), | |
| 'search_items' => __( 'Search Homepage Sliders' ), | |
| 'not_found' => __( 'No Homepage Sliders found' ), | |
| 'not_found_in_trash' => __( 'No Homepage Sliders found in Trash' ), | |
| 'parent_item_colon' => '', | |
| 'menu_name' => 'Homepage Slider' | |
| ); | |
| $args = array( | |
| 'labels' => $labels, | |
| 'public' => true, | |
| 'query_var' => true, | |
| 'rewrite' => true, | |
| // 'capability_type' => 'post', | |
| 'capabilities' => array( | |
| 'publish_posts' => 'manage_options', | |
| 'edit_posts' => 'manage_options', | |
| 'edit_others_posts' => 'manage_options', | |
| 'delete_posts' => 'manage_options', | |
| 'delete_others_posts' => 'manage_options', | |
| 'read_private_posts' => 'manage_options', | |
| 'edit_post' => 'manage_options', | |
| 'delete_post' => 'manage_options', | |
| 'read_post' => 'manage_options', | |
| ), | |
| 'has_archive' => true, | |
| 'hierarchical' => false, | |
| 'menu_position' => 5, | |
| 'rewrite' => array( 'slug' => 'slider', 'with_front' => false ), | |
| 'supports' => array( 'title', 'editor', 'thumbnail' ) | |
| ); | |
| register_post_type( 'orbit_slider' , $args ); | |
| } | |
| function SliderContent(){ | |
| $args = array( 'post_type' => 'orbit_slider', 'order' => 'ASC' ); | |
| $loop = new WP_Query( $args ); | |
| while ( $loop->have_posts() ) : $loop->the_post(); | |
| $slider_link = get_field('slider_image_links_to'); | |
| foreach ( $slider_link as $post_object ): ?> | |
| <?php echo '<a href="'.get_permalink($post_object->ID) .'">'; | |
| if ( has_post_thumbnail() ) { the_post_thumbnail( 'slider-image-large' ); } ?> | |
| <div class="orbit-caption"> | |
| <h1><?php the_title(); ?></h1> | |
| <?php the_content(); ?> | |
| </div> | |
| <?php echo '</a>'; ?> | |
| <?php endforeach; | |
| endwhile; | |
| } | |
| // Remove menu item if not admin | |
| function wpse28782_remove_menu_items() { | |
| if( !current_user_can( 'administrator' ) ): | |
| remove_menu_page( 'edit.php?post_type=orbit_slider' ); | |
| endif; | |
| } | |
| add_action( 'admin_menu', 'wpse28782_remove_menu_items' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment