2016-09-24 2 views
0

В настоящее время я работаю в смарт-теме mag, где на домашней странице newsticker по умолчанию публикуются все последние новости. Но я хочу, чтобы показать только выбранный пост в newsticker.For, что я установил плагин «Мета box'.And написал пользовательской мету поляПолучить пользовательское значение поля и отобразить в frontend wordpress

add_filter('rwmb_meta_boxes', 'breaking_news_radio_demo'); 

    function breaking_news_radio_demo($meta_boxes) 

    { 


     $prefix = 'rw_'; 

    $meta_boxes[] = array(
     'title' => __('Breaking news', '$prefix'), 
     'fields' => array(
      array(
       'name' => __('Show', 'rw'), 
       'id'  => 'radio', 
       'pages' => array('post-new'), 
       'type' => 'radio', 
       // Array of 'value' => 'Label' pairs for radio options. 
       // Note: the 'value' is stored in meta field, not the 'Label' 
       'options' => array(
        'YES' => __('Yes', '$prefix'), 
        'NO' => __('No', '$prefix'), 
       ), 
      ), 
     ) 
    ); 

    return $meta_boxes; 
} 

Меты окна показать штраф в„Добавить новую запись“. Но с помощью переключателя я хочу контролировать, какие сообщения отображаются в тике новостей. И новостной тикер в теме отображается с использованием следующего кода:

<?php if (!Bunyad::options()->disable_topbar_ticker): ?> 
       <div class="trending-ticker"> 
        <span class="heading"><?php echo Bunyad::options()->topbar_ticker_text; // filtered html allowed for admins ?></span> 

        <ul> 
         <?php $query = new WP_Query(apply_filters('bunyad_ticker_query_args', array('orderby' => 'date', 'order' => 'desc', 'posts_per_page' => 8))); ?> 

         <?php while($query->have_posts()): $query->the_post(); ?> 

          <li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> 

         <?php endwhile; ?> 

         <?php wp_reset_postdata(); ?> 
        </ul> 
       </div> 
       <?php endif; ?> 

Любая помощь очень ценится.

ответ

0

Необходимо добавить условия в петлю, в которой вы сравниваете: rwmb_meta('radio')
Check documentation for more details about rwmb_meta.

Это может быть выглядит следующим образом:

<?php while($query->have_posts()): $query->the_post(); ?> 
    <?php if(rwmb_meta('radio') == 'Yes'): ?> 
     <li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> 
    <?php endif; ?> 
<?php endwhile; ?> 

Другой способ, вероятно, лучше, это изменить WP_Query путем добавления ключа и мета-значение, которое вы ищете.

<?php $query = new WP_Query(apply_filters('bunyad_ticker_query_args', array('meta_key' => 'radio', 'meta_value' => 'Yes','orderby' => 'date', 'order' => 'desc', 'posts_per_page' => 8))); ?> 
+0

я уже смотрел на documetation, но не понимаю, куда добавить петлю во втором file.Please помощи –

+0

я редактировал свой ответ. Я надеюсь, что вы справитесь с этим;) –

+0

Большое вам спасибо. –

Смежные вопросы