Skip Navigation

[Resolved] Different templates for different user role post author archives

This thread is resolved. Here is a description of the problem and solution.

Problem: I would like to create different designs for the Author archives based on the Author's role.

Solution:
You can use the filter wpv_filter_force_wordpress_archive to modify the WordPress Archive that is applied to an archive page, and you can set up conditionals that return the proper WordPress Archive ID:

$user_meta=get_userdata($user_id); 
$user_roles=$user_meta->roles; 
if (in_array("subscriber", $user_roles)){
  // return some archive ID for subscriber role
}
if (in_array("author", $user_roles)){
  // return some archive ID for author role
}
...etc...

Relevant Documentation:
https://toolset.com/documentation/programmer-reference/views-filters/#wpv_filter_force_wordpress_archive

This support ticket is created 6 years, 9 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
8:00 – 12:00 8:00 – 12:00 8:00 – 12:00 8:00 – 12:00 8:00 – 12:00 - -
13:00 – 17:00 13:00 – 17:00 13:00 – 17:00 13:00 – 17:00 13:00 – 17:00 - -

Supporter timezone: America/New_York (GMT-04:00)

This topic contains 1 reply, has 2 voices.

Last updated by Christian Cox 6 years, 9 months ago.

Assisted by: Christian Cox.

Author
Posts
#631907

I would like to create template for different user role post author archive. So an author with a specific user role has a different archive from one other. It seems to me that there is not a similare filter.

Could you please help me achieving this.

best

#632095

Hi, you can use the filter wpv_filter_force_wordpress_archive to modify the WordPress Archive that is applied to an archive page. We have information about this filter here, including an example:
https://toolset.com/documentation/programmer-reference/views-filters/#wpv_filter_force_wordpress_archive

Here's a snippet showing how you can test a User's role:

$user_meta=get_userdata($user_id); 
$user_roles=$user_meta->roles; 
if (in_array("subscriber", $user_roles)){
  // return some archive ID for subscriber role
}
if (in_array("author", $user_roles)){
  // return some archive ID for author role
}
...etc...