As some of you that follow my profile on Twitter may know, I’ve got a few Wordpress plugins and other related items in the works and today I am releasing my first ever Wordpress plugin (thanks to some help from and collaboration with the fabulous Joost).
It’s called Customize Your Community aka CYC. And, not only is this plugin kick ass, but it’s also free (though donations never hurt).
A while back, I moved this blog to allowing comments from registered users only. And because this meant users were now going to see the backend of my blog, I went around installing various plugins to limit what they could see in the dashboard as well as try and customize it as much as possible to match my site.
After a lot of searching, I finally found a plugin that themed the registration and login type pages and in combination with some other plugins, was able to limit what registered users could see in my dashboard. But I found absolutely nothing to customize the user profile page. Zip. Nada.
While I liked the fact that my login and registration pages were seamless with the rest of my site, that ugly non matching user profile page was driving me nuts. So I enlisted Joost’s programming skills to create something that will allow you to create a community on your blog that is branded you and not Wordpress (not that we don’t appreciate Wordpress).
See the CYC plugin page for full details of what this awesome plugin can do. Also, if your goal is to create “community”, I’d also recommend using the new user email setup plugin to create a personalized email for your community as well complete the effect.
Hope you guys find CYC as awesome as I do. And make sure you subscribe to the feed or the newsletter (see the right sidebar) because it won’t be long before I release my next plugin.
Subscribe to the Sugarrae feed | Follow Sugarrae on Twitter
Related Posts
Sugarrae runs on the Thesis WordPress Theme
If you’re a blogger looking for a professional presence but don’t understand a lot of PHP, Thesis will give a ton of functionality that you wouldn’t be able to obtain otherwise with a simple control panel. With the incredible customization possibilities via Thesis hooks, you can easily make your blog stand out from the crowd.
Thesis allows bloggers to make more professional customizations than they may have ever deemed possible due to lack of coding knowledge. The theme allows me to run Sugarrae more professionally, with a focus on monetization that is more targeted than I’ve ever been able to achieve with a theme before. You can find out more about Thesis below:







{ 53 comments… read them below or add one }
This looks great! One thing though, how does it deal with bots signing up? Will you be adding some form of user authentication?
Otherwise, awesome plugin.
Awesome. I might push my lazy butt into installing this on one of my blogs.
Are we going to see a future blog post on the motivation and results for these plugins? ‘Cause we know there’s just got to be more going on that just ‘free plugins’ :).
What? A girl can’t give away a few free plugins? Huh? ;-)
Nice plugin. It is pretty seamless, isn’t it?
Hi there,
I have installed the plugin and got it to work, but I am having a problem displaying the two sidebars in the correct position. I have followed your instructions to the letter – closed all open divs and added the inc sidebar command to the plugin file. Everything is on the page, but the sidebars are below the log in form. It must be something to do with the divs, I have tried adding none and adding more than suggested, but nothing works. Any ideas?
Looks like a great plugin if I can get the page to display properly.
Hi Rae,
Re My earlier comment – I have fixed the problem. You know how it helps to walk away for a while, have a cup of tea, do something else then come back and look at a problem afresh? Well, I did this and the solution turned out to be very simple! I added another DIV tag in the middle box and the problem was resolved. Ain’t that always the way!
Gonna have a play with the plugin now.
Thanks.
Hi there,
wonderful piece of work, thank you! But the plugin is not partially working for me at all. The login form is skinned, but Register and Lost Password links are not formatted, they are displayed as big Times ( default browser) font. Also all the user’s profile items are in Times. Thanks for any help.
It sounds like you’re missing a div tag – be sure to read the instructions under customization to help you find which div tag you’re overlooking. Cheers.
Fatal error: Call to a member function has_cap() on a non-object in html/wp-content/plugins/exec-php/includes/user_ui.php on line 40
@Roscoe we just released version 1.1 of CYC today, which includes the ability to add a captcha to the registration page to help prevent automated signups. You’ll need to upgrade your plugin (it should give you the message automatically if you already have it installed – if not, you can get the new version here) and then visit the CYC admin panel and check off the box relating to the captcha.
may be I am completely fool, but my single.php contains only 2 div marks before the_content: content, entry. Both are closed before sidebar is loaded:
<h1 id="post-"><a href="" rel="bookmark">
Posted: by
Categories:
Comments: <a href="">
Sorry, but you are looking for something that isn't here.
I have followed your customization manual, but still is login form partially formatted and user profile completely without formatting:
http://farm4.static.flickr.com/3057/2897568431_8bed513bcb_o.png
sorry, one more try:
does not work properly here:source code of single.php
http://farm4.static.flickr.com/3117/2897571923_a9440f8710_o.png
Thanks a lot for your work! I installed cyc and it works great – except the “Retrieve lost password” – function. It doesnt send out any emails, when i enter my adress or username and press “Get new password” – the site just reloads but i get no confirmation and no email is sent.
When i deactivate cyc everything works fine. I use Wordpress 2.62 – would be great if you could help me. Thanks!
@stingray thanks for the note… we’ve fixed the issue… you’ll need to upgrade the plugin to CYC version 1.1.1 – cheers!
great, thanks!
i just wanted to download 1.1.1 but i noticed that its still 1.1 – please put up the current version with the bugfix. Thanks a lot
Sorry stingray, my bad – Joost had uploaded the new 1.1.1 version to the CYC wordpress page, but I forgot to update the actual plugin page. Both now contain 1.1.1 :) Thanks for letting me know :)
Hi Rae,
i found another bug – if you enter two different words into the “new password” fields on the profile-page, you get redirected to an error page in the wordpress backend with the old layout. I tested it with CYC 1.1.1. Would be great if you could fix it.
Wow…this couldn’t have been easier, even for a code plebe such as myself! See, I told you I’d do it today. ;) As impressed with this plugin as I was with “Social Profiles”. :)
Job well done, Rae & Joost! Looking forward to future plugins.
Hello,
I am really excited about this plugin however I’m having a hard time getting my layout to work properly. I have a wordpress site with 2 sidebars.
The layout is like this: Left Sidebar | Content in the Middle | Right Sidebar
I can’t seem to get the login/registration in between the two sidebars. Both sidebars show up but the login info is on top of it. I’ve tried all I can think of.
Also my get_sidebar code it at the very top of the single.php file and there isn’t really that much code before it.
Any help would be greatly appreciated.
Thank you,
Jason
Also here is a link to what my login page looks like: http://www.centraljerseybjj.com/wp-login.php
@jasculs this issue is addressed in the FAQ here.
Thank you for your reply…I saw that answer in the FAQ and I couldn’t quite figure out how to do it. I also couldn’t find “get_sidebar()” in the CYC plugin code.
Also both of my sidebars are showing up right away, not just one of them but the content is on top of the sidebars not in the middle.
I appreciate the help.
@jasculs the “get_sidebar()” will be in your theme code on the single.php page, not the CYC plugin code.
Ok…I’ll check it out, thanks…In the mean time the wording of the section may be a bit confusing, check it out:
“You should open up the code for the plugin and look for get_sidebar(); and add the code for your second sidebar either before or after it. It will be up to you to decide what suits you best.”
Hi rae,
i discovered another problem: The captcha doesnt work in my version (1.1.1) – it always says the code i typed in is the wrong one – do you know how to fix this issue? Thanks!
Hi Rae,
did you figure out where the bug is when you type two different words (or a mistyping) into the new-password-fields on the my-profile page? I always get redirected to the wordpress backend – the problem exists on your blogs user profiles too, just try it :)
Would be great to get this fixed because it is the only point where the user gets back into the old wordpress-backend.
A bit late to the party, but finally got this installed on one site, and it’s looking great, except my subscriber-level profile pages are now broken.
Someone else mentioned this, but not in much detail. When you install CYC along with Exec-PHP, the subscriber profile pages conflict with the has_cap() function at /wp-content/plugins/exec-php/includes/user_ui.php on line 40, and you’re left without the submit/update button at the bottom of the form.
Any ideas/plans to fix this? Or is there something I can do to tweak it myself?
Thanks for such a great plugin- that’s just what i needed! Any chances for fixing a bug that n3po mentioned above?
Good plugin, but CYC has problems with IE6 and WordPress 2.7. When register link clicked, IE6 pop up says problem with mshtml.dll then IE6 shut down. There is a change with WordPress 2.7 logout link, logout link in CYC couldn’t work with WordPress 2.7.
I’ve found solutions, changed the plugin code to fit with WordPress 2.7
n3po and taki1dotcom:
I’ve been fiddling around the same issue how to catch WP errors on profile page (and custom errors on custom fields I happen to have). It seems that you have to build the whole profile page by either customizing the looks of the original page (and tap to the $error found in wp-admin/includes/user.php if you have custom fields) or duplicating WP backend into your plugin (loads of stuff in edit-user.php & user.php)..
This plugin can’t do anything about the issue (which requires editing core files) I believe.. WP lacks even the basic support for custom profile page.
Solution:
1. build your own backend to save userdata with all the checks and security issues (never let users to original profile.php)
2. Edit user-edit.php and add an else statement after if ( !is_wp_error( $errors ) ) { … found on wp-admin/user-edit.php line ~143 which handles the errors. Make it redirect to the profile page with errors as parameters which in turn are displayed to user in cyc.php.
Both are unacceptable since you have to make changes every time you make a WP update. No can do… 2c
The answer to my prayers! Any idea though if it is compatible with Facebook Connect? Specifically the sociable.es plugin?
@mivox and @VisionQuest,
I’m a big Exec-PHP fan, wouldn’t be able to survive without it.
Here’s one approach, a simple tweak to Exec-PHP to overcome the conflict with the has_cap() call at /wp-content/plugins/exec-php/includes/user_ui.php on line 40.
In /wp-content/plugins/exec-php/includes/user-ui.php, line 40 (or there abouts) …
change …
if ($profileuser->has_cap(ExecPhp_CAPABILITY_EXECUTE_ARTICLES))
to …
if ($profileuser && $profileuser->has_cap(ExecPhp_CAPABILITY_EXECUTE_ARTICLES))
At the point the Exec-PHP function ‘action_user_profile()’ is invoked from a standard ’subscriber’ profile display, the $profileuser object is actually null, so a simple test if($profileuser …) does the trick.
There might be a more appropriate call from CYC to insure the $profileuser global is instantiated before Exec-PHP gets control, but I didn’t bother to figure that out.
Rae, nice plugin. Saves me a lot of work!
Bob
Hi Rae – great plugin. I have another plugin that adds some sub-menus to the profile.php page via add_submenu_page(’profile.php’….
Any suggesstions on how to potentially incorporate the submenu pages into CYC? I can add links to them directly, but then they show up in the normal wordpress backend. Im ok re-doing what was done for the profile page, but not sure how to add a page hook for this type of page. You access it via url: wp-admin/profile.php?page=mysubpage
Thanks
Hello Rae,
First of all – thank You for this great Plugin!**
So here we go… i’ve found two problems i have to deal with, and i (a Mega PHP noob) literally beg for help :)
1. I use WP 2.71 but the Logout doesn’t seem to work.
2. in /wp-admin/profile.php (the CYC Frontend for the Subscriber) gives me always a already filled New Password so Updating a Profile is Impossible.
so that the first New Password field is filled with ******’s and the second field is empty.
Thank’s in Advance
Kan
** Your Blog is also really nice btw.
Hi Rae,
thanks for the plugin, looks great hope to have it working soon.
I tried to follow your instructions but am really stuck. I am also using thesis. You say to find the code that calls the sidebars, i.e. for thesis
“”
Can you please explain how thesis users do it?
thanks!
p.s. just logged in to comment, do you still use CYC on this blog?
Hello Rae,
I’ve successfully installed the CYC plugin in my WP 2.7.1 instance. Thank you for making this available, it is an excellent edition to the WP plugin family and has made my community site a better experience for my users.
And of course I have a feature suggestion for you, here it is….
Can you add an option to exclude the inclusion of sidebar.php?
I have installed the Sidebar Login plugin so I persist the login/register links in the sidebar. So when a user comes to the CYC page to register/login, my sidebar renders and the login box/register links are displayed again in the sidebar. If including the sidebar was optional this redundancy would go away.
I’ve installed the “Subscribe to Comments” plugin and this plugin allows you to include the sidebar or not on the pages it renders in a very easy manner. It presents the options:
Path to header
Path to sidebar
Path to footer
Leaving one of these blank omits that respective piece.
I think this may be a nice addition to a future CYC update.
Hi, another comment on the CYC plugin. The tag contains no content for all CYC related pages, how can I get my Blog title to be populated in the tag?
Thanks
Hi, my prior comment from 03.04.09 at 7:30 pm was missing info so just posting again with missing info inserted (can you edit your own comments?)…
Comment on the CYC plugin. The <title> tag contains no content for all CYC related pages (it’s just <title> </title>), how can I get my Blogs Title to be populated in the HTML <title> tag on CYC driven pages?
Thanks
Cannot activate the updated CYC plugin. Getting the following error message Parse error: syntax error, unexpected T_STRING, expecting ‘(’ in /nfs/c03/h01/mnt/****/domains/youthbloggers.net/html/wp-content/plugins/customize-your-community/cyc.php on line 393
Hello there, and thanks for the wonderful plugin. However it seems to be a problem with the profile.php page, as it will not show anything but a blank page no matter what theme I use, default, classic, my own theme etc. (this is for the subscriber profile only). The odd thing is that everything else works just fine. I guess this is the best part – allowing users to edit their profile – and this is the part that is not working, at least for me.
Any suggestions?
I have no submit button or captcha showing up on my profile.php page when I log in with a subscriber account. After I log in, it goes to the profile.php page and has all of the forms like its supposed to. But, once it gets down to the new password fields, it cuts off after Type your new password again. Then the page doesn’t load, it just stops there and everything, sidebar, footer, doesn’t load.
This is a fantastic plugin and I’m enjoying every bit of use.
I am frustrated, however, because I cannot figure out how to avoid an incorrect password change landing me on the native Wordpress profile.php. The site that I am currently working on will have a lot of users who aren’t familiar with Wordpress and I do not want to scare anyone away.
If this issue could be addressed, it would be greatly appreciated.
Hi,
A solution to share for using CYC plugin in themes without sidebars …. provided by Justin Tadlock in the private forum at ThemeHybrid.com … perhaps Yoast can update the code as recommended below?
“To properly make the plugin recognize all themes and template structures, this code:
include(TEMPLATEPATH . ‘/sidebar.php’);
Should look like this:
locate_template( ’sidebar.php’, true );
Or, to make backwards compatible with WP prior to 2.7:
if ( file_exists( STYLESHEETPATH . ‘/sidebar.php’ ) )
require_once( STYLESHEETPATH . ‘/sidebar.php’ ) );
elseif ( file_exists( TEMPLATEPATH . ‘/sidebar.php’ ) )
require_once( TEMPLATEPATH . ‘/sidebar.php’ ) );
If anyone wants, feel free to pass that along to the plugin developer.
Figured out a workarund to resolve the issues I mentioned in #45 above :-)
Thanks to matteus !!
Matteus has pasted a code snippet at http://wordpress.org/support/topic/244797 of how to change the code so that admin screen is not visible when a user errs out in profile page.
Works like magic..
I think its a description of what T described above in Comment #31.
Thanks Matteus !
Regards
Anupam
Nice plugin!
Have a question tho. When you log in it automatically redirects you to the page where you update your profile (be it backend for admins or the nice frontend for subscribers). But what if I want the users/subs to stay in the location (post or whatever) from where they logged in? And then just be able to edit their profile whenever??
Does anybody have any ideas on this? Thanks all…
Loving CYC.. just installed it, seems to be just the thing I was after :)
I’ve hit a small snag though and was after some help…
I have a custom field in my left bar, that doesn’t seem to be functioning when called in cyc.php
I’ve added the following underneath the call for the header.php
include(TEMPLATEPATH . ‘/leftbar.php’);
and inside the leftbar.php I have the following: where category = advertisements and custom field name = advertimage
have_posts()) : $my_query->the_post();$do_not_duplicate = $post->ID; ?>
ID, ‘advertimage’, $single = true); ?>
<a href=”"> <img class=”ethumb” src=”" alt=”ad box”/>
The link works on the Alt text, but the img src is empty as the call to the custom field isn’t working.
Any ideas on how to fix this?
I got this when trying to register or see profile… been playing with the plugin for a while but no luck fixing it. Something anyone has seen before?
Fatal error: Call to a member function get_var() on a non-object in /home/unite78/public_html/wp-content/themes/flashnews/includes/version.php on line 7
Thanks!
Love the plug-in!
Everything looks good on the profile.php page. But some of the navigation links that are in get_header() and get_footer() for some reason are not what they’re supposed to be.
These links are automatic throughout my site, since they’re from get_header and get_footer. For instance the HOME link now points to profile.php and some of the other links aren’t working either. I viewed the source from the resulting page and it’s not reproducing the links on this page. The page looks consistent with all the others, so I’m not sure why the links don’t work.
I forgot to mention: I am also using Login Redirects plugin, which upon logging in takes the user to whatever page he was on before he signed in.
I guess I’m not sure what to do, because there isn’t a page called profile.php in my theme for me to observe the code, and so I’m not sure how to fix it.
Please disregard my questions. I fixed it. The problem was unrelated to your plugin. It was due to some conflicting settings for the site url and home url between wp-config settings and the database settings.
Hi,
My last question didn’t get answered. For some reason it didn’t get approved. So, I guess I’ll try again.
When a subscriber goes to the CYC profile page to choose a simpler password (simpler than the one emailed to them), and if they don’t type the password correctly twice (as prompted to choose another password), they get redirected into the Admin profile page where they’ll find the error message. Point is that error handling doesn’t seem to handle it directly on the CYC profile page, but redirects it inside the Admin to its profile page.
Is there anything I can do to fix this, or is this a bug?
I love the ease of use of this plugin especially for the profile page, but there’s a major problem. I’m using a lot of custom fields in my profile (get_the_author_meta) and every one of these fields is shown as blank when CYC is turned on. When I disable it, all the custom data is displayed properly. This happens whether or not I’ve entered anything on the CYC settings page.
Any ideas? I really hate the thought of having to customize the profile.php page manually and would really like to get this to work.