За последние 24 часа нас посетили 17242 программиста и 1649 роботов. Сейчас ищут 1158 программистов ...

как отобразить определенную категорию, а не все подряд ?

Тема в разделе "Wordpress", создана пользователем FinT, 17 мар 2018.

  1. FinT

    FinT Новичок

    С нами с:
    17 мар 2018
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте, у меня есть скрипт который выводит посты из категории stm_media_gallery (плагин stm post) Данный скрипт отображает все посты с пометкой Featured и выводит все посты из всех категорий, как его заставить выводить посты только из определенных категорий которые содержаться в stm_media_gallery?

    Есть второй скрипт который может отображать выбранные категории, но в виде сетки, значит и первый скрипт можно как-то заставить выбирать определенную категорию для вывода?

    Первый скрипт(который нужно заставить выводить выбранную категорию):
    PHP:
    1. <?php
    2. /* === VARIABLES === */
    3. $title = '';
    4. $item_count = '';
    5. $view_type = '';
    6. $button_link = '';
    7. $button_text = '';
    8.  
    9. /* === GET ATTRIBUTES === */
    10. $atts = vc_map_get_attributes( $this->getShortcode(), $atts );
    11. extract( $atts );
    12.  
    13. /* === CSS CLASS === */
    14. $css_class = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class( $css, ' ' ) );
    15.  
    16. /* === ENQUEUE SCRIPT & STYLE === */
    17. if( $view_type == 'carousel' ) {
    18.     wp_enqueue_style( 'animate' );
    19.     wp_enqueue_style( 'owl-carousel' );
    20.     wp_enqueue_script( 'owl-carousel' );
    21. }
    22.  
    23. /* === QUERY === */
    24. $items_query_args = array(
    25.     'post_type' => 'stm_media_gallery',
    26.     'posts_per_page' => -1,
    27.     'meta_query' => array(
    28.         'relation' => 'AND',
    29.         array(
    30.             'key'     => 'media_featured',
    31.             'value'   => 'on',
    32.             'compare' => 'LIKE',
    33.         ),
    34.         array(
    35.             'key'     => 'media_type',
    36.             'value'   => 'video',
    37.             'compare' => 'LIKE',
    38.         )
    39.     )
    40. );
    41.  
    42. if( $item_count ) {
    43.     $items_query_args['posts_per_page'] = $item_count;
    44. }
    45.  
    46. $items_query = new WP_Query( $items_query_args );
    47.  
    48. /* === ID === */
    49. $media_gallery_id = uniqid('stm-media-gallery-');
    50. $text_carousel_id = uniqid('stm-text-carousel-');
    51. $video_carousel_id = uniqid('stm-video-carousel-');
    52. $text_carousel_dots_id = uniqid('stm-text-carousel-dots-');
    53.  
    54. /* === BUTTON ===
    55. *
    56. * 1. Link
    57. *
    58. */
    59.  
    60. // 1. Link
    61. if( !empty( $button_link ) ) {
    62.     $button_link = vc_build_link( $button_link );
    63.     if( empty( $button_link['target'] ) ) $button_link['target'] = '_self';
    64. }
    65. ?>
    66.  
    67. <?php if( $items_query->have_posts() ) : ?>
    68.  
    69.     <!-- Stm Media Gallery - Video -->
    70.     <div class="stm-media-gallery stm-media-gallery_format_video stm-media-gallery_view_carousel<?php echo esc_attr( $css_class ); ?>">
    71.         <div class="row">
    72.             <div class="col-md-7 col-md-push-5 col-sm-12">
    73.                 <div class="hidden-md hidden-lg">
    74.                     <?php if( !empty( $title ) ) : ?>
    75.                         <h2 class="stm-media-gallery__title"><?php echo esc_html( $title ); ?></h2>
    76.                         <hr class="stm-media-gallery__title-separator stm-border_color_green">
    77.                     <?php endif; ?>
    78.                 </div>
    79.                 <!-- Stm Video Carousel -->
    80.                 <div class="stm-video-carousel stm-video-carousel_view_media-gallery" id="<?php echo esc_attr( $video_carousel_id ); ?>">
    81.                     <?php while( $items_query->have_posts() ) : $items_query->the_post(); ?>
    82.                         <div class="stm-video-carousel__item">
    83.                             <?php
    84.                                 $img_id = get_post_meta( get_the_ID() ,'media_item_img', true );
    85.                                 $img_src = wp_get_attachment_image_src( $img_id, 'full' );
    86.                             ?>
    87.                             <?php if( $item_link = get_post_meta( get_the_ID() ,'media_item_link', true ) ) : ?>
    88.                                 <?php if( !empty( $img_src[0] ) ) : ?>
    89.                                     <div class="stm-video-carousel__item-poster" <?php echo 'style="background-image: url('. esc_url( $img_src[0] ) .')"'; ?>>
    90.                                         <a href="#" class="stm-video-carousel__item-play"><span class="stm-icon stm-icon-play"></span></a>
    91.                                     </div>
    92.                                 <?php endif; ?>
    93.                                 <iframe class="stm-video-carousel__item-video stm-iframe stm-iframe_format_video stm-iframe_view_media-gallery" width="635" height="450" src="<?php echo esc_url( $item_link ); ?>" frameborder="0" allowfullscreen></iframe>
    94.                             <?php endif; ?>
    95.                         </div>
    96.                     <?php endwhile; ?>
    97.                 </div>
    98.             </div>
    99.             <div class="col-md-5 col-md-pull-7 col-sm-12">
    100.                 <div class="hidden-sm hidden-xs">
    101.                     <?php if( !empty( $title ) ) : ?>
    102.                         <h2 class="stm-media-gallery__title"><?php echo esc_html( $title ); ?></h2>
    103.                         <hr class="stm-media-gallery__title-separator stm-border_color_green">
    104.                     <?php endif; ?>
    105.                 </div>
    106.                 <!-- Stm Text Carousel -->
    107.                 <div class="stm-text-carousel stm-text-carousel_view_media-gallery" id="<?php echo esc_attr( $text_carousel_id ); ?>">
    108.                     <?php while( $items_query->have_posts() ) : $items_query->the_post(); ?>
    109.                         <div class="stm-text-carousel__item">
    110.                             <h4 class="stm-text-carousel__item-title"><?php the_title(); ?></h4>
    111.                             <?php if( $item_description = get_post_meta( get_the_ID() ,'media_item_descr', true ) ) : ?>
    112.                                 <p class="stm-text-carousel__item-description"><?php echo esc_html( $item_description ); ?></p>
    113.                             <?php endif; ?>
    114.                         </div>
    115.                     <?php endwhile; ?>
    116.                     <?php wp_reset_postdata(); ?>
    117.                 </div>
    118.                 <div class="stm-text-carousel__controls stm-text-carousel__controls_view_media-gallery">
    119.                     <div class="stm-text-carousel__dots" id="<?php echo esc_attr( $text_carousel_dots_id ); ?>"></div>
    120.                 </div>
    121.                 <!-- Stm Media Gallery - Action -->
    122.                 <?php if( isset( $button_link['url'] ) && !empty( $button_link['url'] ) && $button_text ) : ?>
    123.                     <div class="stm-media-gallery__action">
    124.                         <a href="<?php echo esc_url( $button_link['url'] ); ?>" class="stm-btn stm-btn_error stm-btn_outline stm-btn_md stm-btn_icon-left"><i class="fa fa-youtube-play"></i><?php echo esc_html( $button_text ); ?></a>
    125.                     </div>
    126.                 <?php endif; ?>
    127.             </div>
    128.         </div>
    129.     </div>
    130.  
    131.     <?php wp_reset_postdata(); ?>
    132. <?php endif; ?>
    133.  
    134. <?php
    135. /* === SCRIPT ===
    136. *
    137. * - Owl carousel
    138. * - Play video
    139. *
    140. */
    141. if( $view_type == 'carousel' ) :  ?>
    142. <script>
    143.     (function($) {
    144.         "use strict";
    145.  
    146.         $(document).ready(function() {
    147.             var carouselId = '#<?php echo esc_js( $text_carousel_id ); ?>',
    148.                 videoCarouselId = '#<?php echo esc_js( $video_carousel_id ); ?>',
    149.                 textCarouselDotsId = '#<?php echo esc_js( $text_carousel_dots_id ); ?>',
    150.                   carouselOptions = {
    151.                         items:1,
    152.                         dotsContainer: textCarouselDotsId,
    153.                       animateOut: 'fadeOutLeft',
    154.                       animateIn: 'fadeInRight',
    155.                       smartSpeed: 450,
    156.                       autoHeight:true
    157.                     };
    158.  
    159.             $(carouselId).owlCarousel(carouselOptions);
    160.  
    161.             $(videoCarouselId).owlCarousel({
    162.                 items: 1,
    163.                 smartSpeed: 450,
    164.                 dots: false,
    165.                 animateOut: 'fadeOut',
    166.                 animateIn: 'fadeIn'
    167.  
    168.             });
    169.  
    170.             $(carouselId).on("translate.owl.carousel", function(event) {
    171.                 $(videoCarouselId).trigger('to.owl.carousel', [event.item.index, 300, true]);
    172.             });
    173.  
    174.         });
    175.  
    176.         $(document).on("click", ".stm-video-carousel__item-play", function() {
    177.             var $this = $(this),
    178.                 $videoContainer = $this.closest('.stm-video-carousel__item'),
    179.                 videoSrc = $videoContainer.find(".stm-video-carousel__item-video").attr('src');
    180.  
    181.             $videoContainer.find('.stm-video-carousel__item-video').attr( 'src', videoSrc + '?autoplay=1' );
    182.  
    183.             setTimeout(function() {
    184.                 $videoContainer.find('.stm-video-carousel__item-poster').addClass('stm-video-carousel__item-poster_state_hidden');
    185.                 $this.hide();
    186.             }, 1000);
    187.  
    188.             return false;
    189.         });
    190.  
    191.     })(jQuery);
    192. </script>
    193. <?php endif; ?>
     
  2. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @FinT насильно исправь запрос в классе WP_Query