1

I'm setting up four blogs within a large website and have multiple authors for each blog. I'm setting up these authors as members and would like to show the most active authors (members) with their member photo at the top of each blog. (so the most active authors get "rewarded" with their picture at the top of the blog. up to 6 authors)

what's the easiest way to achieve that?

1 Answer 1

1

You'll need to either do 2 channel entries calls - once for the authors, then again for the posts, or use something like stash to limit it to only one loop (but probably not suitable in this instance as the authors list needs to be by edit date).

Although you don't define what "most active authors" is actually classed by, I've assumed latest post or edit date, rather than total posts.

{exp:channel:entries
    channel="blog"
    orderby="edit_date|date"
    dynamic="no"
    limit="6"}
    {if no_results}What no Authors?{/if}
    <p>{author}</p>
    <img src="{avatar_url}" width="{avatar_image_width}" height="{avatar_image_height}" alt="{author}'s avatar">
{/exp:channel:entries}

Then the blog listing...

{exp:channel:entries
    channel="blog"
    orderby="date"
    dynamic="no"
    limit="20"}
    {if no_results}Nothing to see here - move along{/if}

    ...blah...
{/exp:channel:entries}

Word of caution: this mechanism could easily be manipulated if authors simply edit a character in their post, they'll jump to the top of the author gallery. Might be better to either list by amount of posts (complex - probably only way is to use the query tag) or include the amount of posts they've made.

Within the first channel:entries loop:

{exp:member:custom_profile_data member_id="{author_id}"}
    {total_entries}
{/exp:member:custom_profile_data}
1
  • yes, it was supposed to be "most post" authors... and I was afraid that would require the query tag. but maybe I can convince them that "latest post" authors will suffice... this website is for a good cause and I don't think authors will trick to get up... thanks!
    – P..
    Commented Sep 12, 2013 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.