Прошу пожалуйста помощи по созданию шаблона для вывода постов по рейтингу - со стены (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" ]