Здравствуйте! Попробовала сделать виджет для группы. Получилось но не совсем то!
Не ругайте сильно за корявость из исходника переписала и дописала и вот что получилось:
<?php add_action('init','rcl_group_add_rcl_shop_widget'); function rcl_group_add_rcl_shop_widget(){ rcl_group_register_widget('Group_Rcl_Shop_Widget'); } if(class_exists('Rcl_Group_Widget')){ class Group_Rcl_Shop_Widget extends Rcl_Group_Widget { function Group_Rcl_Shop_Widget() { parent::__construct( array( 'widget_id'=>'group-shop-widget', 'widget_title'=>'Цифровые товары', 'widget_place'=>'content' ) ); } function widget($args,$instance) { if(!rcl_is_group_can('reader')) return false; extract( $args ); global $rcl_group,$rcl_options; $defaults = array( 'title' => 'Цифровые товары', 'height' => 300, ); $instance = wp_parse_args( (array) $instance, $defaults ); echo $before; echo do_shortcode('[productlist type="slab" num="7"]'); echo $after; } function options($instance){ $defaults = array( 'title' => 'Цифровые товары', 'userslist' => 0, 'avatar_size' => 40 ); $instance = wp_parse_args( (array) $instance, $defaults ); echo '<label></label>' . '<input type="text" name="'.$this->field_name('title').'" value="'.$instance['title'].'">'; echo '<label>Размер аватарок</label>' . '<input type="number" name="'.$this->field_name('avatar_size').'" value="'.$instance['avatar_size'].'">'; echo '<label>Список участников</label>' . '<select name="'.$this->field_name('userslist').'">' . '<option value="0" '.selected(0,$instance['userslist'],false).'>Выключить</option>' . '<option value="1" '.selected(1,$instance['userslist'],false).'>Включить</option>' . '</select>'; } } }
Выводит в группу все товары магазина всех пользователей! Знаю что скорее всего многое не правильно в коде..... но работает!
Подскажите если возможность вывода товаров непосредственно администратора этой группы? Ещё раз не ругайте меня за корявость и надоедливость!
Заранее спасибо!
ругать тут не за что, наоборот, попытки грамотно использовать доступный функционал достойны похвалы.
Скорее всего, дело в атрибутах шорткода, которым товары выводятся (в вашем сообщении он не отобразился), попробуйте задать атрибут author со значением ИД администратора группы, делается так:
global $rcl_group; echo do_shortcode('[ productlist author="'.$rcl_group->admin_id.'" ]');
пробелы внутри шорткода убрать.
Андрей CS сказал(а)
ругать тут не за что, наоборот, попытки грамотно использовать доступный функционал достойны похвалы.
Скорее всего, дело в атрибутах шорткода, которым товары выводятся (в вашем сообщении он не отобразился), попробуйте задать атрибут author со значением ИД администратора группы, делается так:global $rcl_group; echo do_shortcode('[ productlist author="'.$rcl_group->admin_id.'" ]');
пробелы внутри шорткода убрать.
Огромное преогромное вам спасибо!!!!!!!!!!!!!!!