HELP with user roles, I created a cron isn't working

I have the plugin installed, and I asked a developer to set a cron job, to change levels or roles every week, that way, I give more access every week….

We are having issues, they say the cron is working, changing member levels, but the user roles, are not changing…

[coachusa@server ~]$ cat /tmp/result UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level10’, ‘s2member_level11’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level9’, ‘s2member_level10’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level8’, ‘s2member_level9’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level7’, ‘s2member_level8’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level6’, ‘s2member_level7’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level5’, ‘s2member_level6’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level4’, ‘s2member_level5’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level3’, ‘s2member_level4’) WHERE meta_key = ‘wp0a_capabilities’
UPDATE wp0a_usermeta SET meta_value = REPLACE(meta_value, ‘s2member_level2’, ‘s2member_level3’) WHERE meta_key = ‘wp0a_capabilities’"

Who wrote that code? It looks like its author has never worked with WordPress. It’s trying to work directly with the database instead of using WordPress functions designed for the job.

The Bulk Change Role plugin enables you to do what you want manually. If your developer takes a look at the code, s/he should then be able to work out how to automate the process.

You should also be aware that WordPress’s cron function is not reliable. This post explains what you need to know.

2 Likes