За последние 24 часа нас посетили 22483 программиста и 1200 роботов. Сейчас ищут 717 программистов ...

Назначение конкретной категории записи (слайдер записей) в php

Тема в разделе "PHP для новичков", создана пользователем Stasonn777, 15 фев 2017.

  1. Stasonn777

    Stasonn777 Новичок

    С нами с:
    15 фев 2017
    Сообщения:
    2
    Симпатии:
    0
    Всем привет! Есть такая проблема, на сайте установлена карусель которая выводит записи (в данном случае портфолио), так вот, нужно чтобы выводились только записи конкретной категории, а не всех вместе. В настройках шаблона такой функции нет, по этому нужно редактировать код. CMS Wordpress.

    Вот собственно сам код

    PHP:
    1. <?php
    2. function easyweb_webnus_portfolio_carousel( $atts, $content = null ) {
    3.     extract(shortcode_atts(array(
    4.         'title' => 'Recent Works',
    5.         'carousel_count' => '10',
    6.     ), $atts));
    7.  
    8.     ob_start();
    9.  
    10.     // new Query
    11.     $args = array(
    12.         'post_type'         => 'portfolio',
    13.         'posts_per_page' => $carousel_count,
    14.     );
    15.     $rw_query = new WP_Query( $args ); ?>
    16.  
    17.     <section class="related-works">
    18.         <!-- subtitle -->
    19.         <div class="portfolio-carousel-subtitle">
    20.             <h4 class="subtitle"><?php echo esc_html( $title ); ?></h4>
    21.             <!-- owl-carousel custom navigation -->
    22.             <div class="latest-projects-navigation">
    23.                 <a class="btn prev"><i class="fa-angle-left"></i></a>
    24.                 <a class="btn next"><i class="fa-angle-right"></i></a>
    25.             </div>
    26.         </div>
    27.  
    28.         <!-- latest-projects (owl-carousel) -->
    29.         <ul id="latest-projects" class="owl-carousel owl-theme">
    30.             <?php if ( $rw_query->have_posts()) : while ( $rw_query->have_posts() ) : $rw_query->the_post(); ?>
    31.                 <li class="portfolio-item">
    32.                     <a><?php the_post_thumbnail( 'easyweb_webnus_thumb300x200' ) ?></a>
    33.                     <h5><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
    34.                     <div class="portfolio-meta"><?php echo '<span class="portfolio-date">' . get_the_date('d F Y') . '</span>'; ?></div>
    35.                 </li>
    36.             <?php endwhile; endif;
    37.             wp_reset_query(); ?>
    38.         </ul> <!-- end latest-projects -->
    39.     </section> <!-- end related-works -->  
    40.     <?php
    41.  
    42.     $out = ob_get_contents();
    43.     ob_end_clean();
    44.     $out = str_replace('<p></p>','',$out);
    45.  
    46.     return $out;
    47. }
    48.  
    49. add_shortcode('portfolio-carousel', 'easyweb_webnus_portfolio_carousel');
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
  3. Stasonn777

    Stasonn777 Новичок

    С нами с:
    15 фев 2017
    Сообщения:
    2
    Симпатии:
    0
    Проблема в том что я не понимаю куда нужно прописывать код. Я пробовал вставлять его так:
    PHP:
    1.     // new Query
    2.     $args = array(
    3.         'post_type'         => 'portfolio',
    4.         'category_name' => 'tipy-turov',
    5.         'posts_per_page' => $carousel_count,
    6.     );
    7.     $rw_query = new WP_Query( $args );
    После этого блок совсем перестал работать.
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Совсем перестал работать - это размыто. Попробуй с id. А вообще, выглядит правильно. сделай var_export($rw_query), он по идее сформированный sql выводит в том числе в каком-то поле, можно полюбоваться.