Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод новостей

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
jonmodem
Отправлено: 03 Января, 2013 - 14:39:56
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




Ниже есть код, в котором ошибка присутствует, благодаря которой не выводятся новости.
Пробовал что то менять, ничего не выходит.
Посмотрите пожалуйста:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class getlastnews extends WP_Widget {
  3. /** constructor -- name this the same as the class above */
  4.     function getlastnews() {
  5.                 $widget_ops = array( 'description' => __('Вывод последних новостей') );
  6.                 $control_ops = array( 'width' => 200, 'height' => 200, 'id_base' => 'getlastnews_widget' );
  7.                 $this->WP_Widget( 'getlastnews_widget', __('Новости'), $widget_ops, $control_ops );
  8.     }
  9.     /** @see WP_Widget::widget -- do not rename this */
  10.     function widget($args, $instance) {
  11.         extract( $args );
  12.         $cat_id         = $instance['cat_id'];
  13.         $number_entries         = $instance['number_entries'];
  14.         $lastnews = new WP_Query('cat=<?PHP echo $cat_id ?>&showposts=<?PHP echo $number_entries ?>&orderby=date');
  15.         ?>
  16.                         <h2>Новости</h2>
  17.                         <div class="widget">
  18.                                 <?PHP while ($lastnews->have_posts()) : $lastnews->the_post(); ?>
  19.                                         <div class="news">
  20.                                                 <div class="clearly"><div>
  21.                                                 <div class="date_container"><span class="date"><?PHP the_time('d.m.Y'); ?></span></div>
  22.                                                 <div class="clearly"><div>
  23.                                                 <span class="txt_conteiner"><a href="<?PHP the_permalink() ?>" title="<?PHP the_title(); ?>">
  24.                                                         <span class="img_conteiner"><?PHP the_post_thumbnail(array(40,40)); ?></span>
  25.                                                         <?PHP the_title(); ?></a>
  26.                                                 </span>
  27.                                         </div>
  28.                                         <?PHP endwhile; ?>
  29.                         </div>
  30.                         <div class="clearly"><div>
  31.     <?PHP
  32.     }
  33.     /** @see WP_Widget::update -- do not rename this */
  34.     function update($new_instance, $old_instance) {            
  35.                 $instance = $old_instance;
  36.                 $instance['cat_id'] = strip_tags($new_instance['cat_id']);
  37.                 $instance['number_entries'] = strip_tags($new_instance['number_entries']);
  38.         return $instance;
  39.     }
  40.     /** @see WP_Widget::form -- do not rename this */
  41.     function form($instance) {
  42.         $defaults = array( 'cat_id' => __('1'), 'number_entries' => __('5') );
  43.         $cat_id         = esc_attr($instance['cat_id']);
  44.         $number_entries = esc_attr($instance['number_entries']);
  45.         ?>
  46.          <p>
  47.           <label for="<?PHP echo $this->get_field_id('cat_id'); ?>"><?PHP _e('ID Рубрики:'); ?></label>
  48.           <input class="widefat" id="<?PHP echo $this->get_field_id('cat_id'); ?>" name="<?PHP echo $this->get_field_name('cat_id'); ?>" type="text" value="<?PHP echo $cat_id; ?>" />
  49.         </p>
  50.                 <p>
  51.           <label for="<?PHP echo $this->get_field_id('number_entries'); ?>"><?PHP _e('Количество записей:'); ?></label>
  52.           <input class="widefat" id="<?PHP echo $this->get_field_id('number_entries'); ?>" name="<?PHP echo $this->get_field_name('number_entries'); ?>" type="text" value="<?PHP echo $number_entries; ?>" />
  53.         </p>
  54.         <?PHP
  55.     }
  56. } // end class example_widget
  57. add_action('widgets_init', create_function('', 'return register_widget("getlastnews");'));
  58. ?>


Вот код работающего вывода новостей, но он без настроек вывода количества и выбора рубрики

PHP:
скопировать код в буфер обмена
  1. <?PHP // Добавляем виджет новостей
  2. function getlastnews() {
  3. $lastnews = new WP_Query('cat=1&showposts=15&orderby=date'); ?>
  4. <h2>Новости</h2>
  5.         <div class="widget">
  6.                 <?PHP while ($lastnews->have_posts()) : $lastnews->the_post(); ?>
  7.                         <div class="news">
  8.                                 <div class="clearly"><div>
  9.                                 <div class="date_container"><span class="date"><?PHP the_time('d.m.Y'); ?></span></div>
  10.                                 <div class="clearly"><div>
  11.                                 <span class="txt_conteiner"><a href="<?PHP the_permalink() ?>" title="<?PHP the_title(); ?>">
  12.                                         <span class="img_conteiner"><?PHP the_post_thumbnail(array(40,40)); ?></span>
  13.                                         <?PHP the_title(); ?></a>
  14.                                 </span>
  15.                         </div>
  16.                         <?PHP endwhile; ?>
  17.         </div>
  18.         <div class="clearly"><div>
  19. <?PHP };
  20. ?>
 
 Top
jonmodem
Отправлено: 03 Января, 2013 - 16:39:57
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011  
Откуда: Москва


Помог: 0 раз(а)




проблема решена путем изменения
PHP:
скопировать код в буфер обмена
  1. $lastnews = new WP_Query('cat=<?PHP echo $cat_id ?>&showposts=<?PHP echo $number_entries ?>&orderby=date');

на
PHP:
скопировать код в буфер обмена
  1. $args = array ( 'cat' => $cat_id, 'showposts' => $number_entries, 'orderby' => 'date' );
  2. $lastnews = new WP_Query($args);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB