Advertisement
OrangePulp

Custom Post Type

Feb 4th, 2020
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.60 KB | None | 0 0
  1. // REGISTER CUSTOM POST TYPE
  2. function movies_functions() {
  3.     $labels = array(
  4.         'name'                => _x( 'Movies', 'Post Type General Name', 'text_domain' ),
  5.         'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'text_domain' ),
  6.         'menu_name'           => __( 'Movies', 'text_domain' ),
  7.         'parent_item_colon'   => __( 'Parent Movie', 'text_domain' ),
  8.         'all_items'           => __( 'All Movie', 'text_domain' ),
  9.         'view_item'           => __( 'View Movie', 'text_domain' ),
  10.         'add_new_item'        => __( 'Add New Movie', 'text_domain' ),
  11.         'add_new'             => __( 'Add New', 'text_domain' ),
  12.         'edit_item'           => __( 'Edit Movies', 'text_domain' ),
  13.         'update_item'         => __( 'Update Movies', 'text_domain' ),
  14.         'search_items'        => __( 'Search Movie', 'text_domain' ),
  15.         'not_found'           => __( 'Not Found', 'text_domain' ),
  16.         'not_found_in_trash'  => __( 'Not found in Trash', 'text_domain' ),
  17.     );
  18.    
  19.     $args = array(
  20.         'label'               => __( 'movies_list', 'text_domain' ),
  21.         'description'         => __( 'Movies news and reviews', 'text_domain' ),
  22.         'labels'              => $labels,
  23.         'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
  24.         'taxonomies'          => array( 'genres' ),
  25.         'hierarchical'        => false,
  26.         'public'              => true,
  27.         'show_ui'             => true,
  28.         'show_in_menu'        => true,
  29.         'show_in_nav_menus'   => true,
  30.         'show_in_admin_bar'   => true,
  31.         'menu_position'       => 3,
  32.         'menu_icon'           => 'dashicons-format-quote',
  33.         'can_export'          => true,
  34.         'has_archive'         => true,
  35.         'exclude_from_search' => false,
  36.         'publicly_queryable'  => true,
  37.         'capability_type'     => 'page',
  38.     );
  39.     register_post_type( 'movies_list', $args );
  40.  
  41. // MovieS CATEGORY
  42.   $labels = array(
  43.       'name'              => _x( 'Movies Categories', 'taxonomy general name', 'textdomain' ),
  44.       'singular_name'     => _x( 'Movie Category', 'taxonomy singular name', 'textdomain' ),
  45.       'search_items'      => __( 'Search Movie Categories', 'textdomain' ),
  46.       'all_items'         => __( 'All Movies Categories', 'textdomain' ),
  47.       'parent_item'       => __( 'Parent Movies Category', 'textdomain' ),
  48.       'parent_item_colon' => __( 'Parent Movies Category:', 'textdomain' ),
  49.       'edit_item'         => __( 'Edit Movies Category', 'textdomain' ),
  50.       'update_item'       => __( 'Update Movies Category', 'textdomain' ),
  51.       'add_new_item'      => __( 'Add New Movie Category', 'textdomain' ),
  52.       'new_item_name'     => __( 'New Movie Category Name', 'textdomain' ),
  53.       'menu_name'         => __( 'Movie Category', 'textdomain' ),
  54.     );
  55.  
  56.     $args = array(
  57.       'hierarchical'      => true,
  58.       'has_archive'         => true,
  59.       'labels'            => $labels,
  60.       'show_ui'           => true,
  61.       'show_admin_column' => true,
  62.       'query_var'         => true,
  63.       'rewrite'           => array( 'slug' => 'movies_list_category' ),
  64.     );
  65.  
  66.   register_taxonomy( 'movies_list_category', array( 'movies_list' ), $args );
  67.  
  68. }
  69. add_action( 'init', 'movies_functions', 0 );
  70.  
  71.  
  72.  
  73. // Drama
  74. function drama_function(){
  75. ob_start();
  76.  
  77.  $custom_query = new WP_Query(
  78.      
  79.      array(
  80.          'post_type' => 'movies_list',
  81.          'posts_per_page' => 9,
  82.          'order' => 'DESC',
  83.          'tax_query' => array(
  84.                              array(
  85.                             'taxonomy' => 'movies_list_category',    
  86.                             'field' => 'slug',
  87.                             'terms' => ( 'drama' ),
  88.                                  )
  89.                     ), 
  90.          ) );
  91.   if($custom_query->have_posts()) :
  92.      
  93.      
  94.             while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
  95.    
  96.               <div class="gc-items">
  97.                 <?php if( have_rows('image_repeater') ): ?>
  98.                 <?php while( have_rows('image_repeater') ): the_row(); ?>
  99.                     <div class="gc-container">
  100.                         <div class="gc-content">
  101.                           <?php
  102.                           $image = get_sub_field('image_gallery');
  103.                           ?>
  104.                           <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />
  105.                         </div>
  106.                     </div>
  107.                
  108.                 <?php endwhile; ?>
  109.                 <?php endif; ?>
  110.              </div>    
  111.     <?php
  112.         endwhile;
  113.         echo '</div></div>';
  114.         endif;
  115.           wp_reset_postdata();
  116.          
  117.          ?>
  118.     <?php  
  119.       $content =  ob_get_contents();
  120.       ob_clean();
  121.       return $content;
  122. }
  123. add_shortcode ( 'drama' , 'drama_function' );
  124.  
  125.  
  126.  
  127. // Comedy function
  128. function comedy_function(){
  129. ob_start();
  130.  
  131.  $custom_query = new WP_Query(
  132.      
  133.      array(
  134.          'post_type' => 'movies_list',
  135.          'posts_per_page' => 9,
  136.          'order' => 'DESC',
  137.          'tax_query' => array(
  138.                              array(
  139.                             'taxonomy' => 'movies_list_category',    
  140.                             'field' => 'slug',
  141.                             'terms' => ( 'comedy' ),
  142.                                  )
  143.                     ), 
  144.          ) );
  145.   if($custom_query->have_posts()) :
  146.  
  147.         while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
  148.  
  149.             <div class="gc-items">
  150.                 <div class="gc-container">              
  151.                     <div  class="gc-content">
  152.                     <?php
  153.                         $postcontent = get_the_content();
  154.                         if ( !empty ($postcontent))
  155.                         {?>
  156.                             <h4><a href="<?php the_permalink(); ?>"> <?php  the_title(); ?></a></h4>
  157.                             <p> <?php  echo  $postcontent; ?></p>
  158.                         <?php  }
  159.                         else
  160.                         { ?>
  161.                             <h4><a href="<?php the_permalink(); ?>"> <?php  the_title(); ?></a></h4>
  162.                             <p>Default content</p>
  163.                         <?php } ?>
  164.                     </div>
  165.                 </div>
  166.             </div>
  167.  
  168.         <?php
  169.         endwhile;
  170.  
  171.     endif;
  172.  
  173.     wp_reset_postdata();
  174.     $content =  ob_get_contents();
  175.     ob_clean();
  176.     return $content;
  177. }
  178. add_shortcode ( 'comedy' , 'comedy_function' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement