Прошу пожалуйста помощи по созданию шаблона для вывода постов по рейтингу - со стены (User Wall).
Мне нужен обычный вывод неполного поста (просто в одну строку) с ссылкой на полный пост на стене. Думал что лучше наверное шаблон list (вывод горизонтальными линиями) использовать, но можно попробовать и block - вообще не знаю как лучше будет.
Вот что я сделал на данный момент:
1. Создал новый шаблон, назвал его: uw-share-tobr-block (хотя наверное можно было и user-wall-tobr-block) и закинул его в папку: /wp-content/wp-recall/templates
2. В параметрах шорткода указал название шаблона (templates="block")
3. Далее указал тип объекта рейтинга, в данном случае вроде как (type="uw-share")
Получился следующий шорткод: [ top_object_rating templates="block" type="uw-share" limit="3" ]
Один пост с рейтингом для проверки у меня точно есть. Но чет намудрил, у меня этот шорткод вывел почему-то рейтинг страницы политики конфиденциальности, а не поста со стены -
.
Вот шаблон, там наверное нужно чего-то менять, но чего именно я не соображу. Оставил прямо так, вот походу у меня и вывело не пойми чего...
<?php global $top_object, $position, $tobr_per_page; $user_id = $top_object["object_author"]; $rating = $top_object["total_rating"]; $post_id = $top_object["object_id"]; $user_info = get_userdata($user_id); $post = get_post($post_id); ?> <div class="tobr-object" data-object-id="<?php echo $post_id ;?>"> <div class="tobr-image" style="background-image:url(<?php echo tobr_gallery_first_image($post_id); ?>)"> <div class="tobr-rating"> Рейтинг: <b><?php echo $rating; ?></b> </div> <div class="tobr-position"> <?php echo $position; ?> </div> </div> <div class="tobr-meta"> <div class="tobr-title"> <a href="<?php echo get_permalink($post->ID); ?>" title="<?php echo $post->post_title; ?>" target="_blank"><?php echo $post->post_title; ?></a> </div> <div class="tobr-date"> <i class="rcli fa-calendar"></i> <?php echo get_the_date('',$post_id); ?> </div> - <div class="tobr-author"> <i class="rcli fa-user"></i> <a href="<?php echo get_author_posts_url($user_id); ?>" target="_blank"> <?php echo $user_info->display_name; ?> </a> </div> </div> <div class="tobr-info"> <?php if(function_exists('the_ratings')) { echo expand_ratings_template('<div class="tobr-wp-rating"><span class="ratingresult">%RATINGS_IMAGES%</span></div>', $post_id); } ?> <div class="tobr-comments"> <a href="<?php echo get_permalink($post->ID); ?>#comment" target="_blank" title="Комментарии к записи: <?php echo $post->post_title; ?>"> <i class="rcli fa-comments-o"></i> Комментариев: <?php echo $post->comment_count; ?> </a> </div> </div> </div>
У вас класс дива с топом по ссылке "uw-share-block-user-wall"
Значит вы сделали что то не так, ибо он формируется из типа объекта и названия шаблона.
1. Вам надо узнать тип поста у допа User Wall для этого в админке поищите вкладку User Wall и там понаводите на ссылки, вот например как для товаров узнать тип поста:
2. Затем Скопируйте из папки templates допа нужный шаблон у которого вначале имени "post" например post-tobr-block.php
3. Поместите его в папку /wp-content/wp-recall/templates и замените в имени файла "post" на тип поста который у User Wall
4. Затем в шорткоде укажите [ top_object_rating templates="block" type="ТИП ПОСТА" limit="3" ]