Tagged: buddyblog
System Info: https://codeshare.io/CfRz0
My Custom Post Type and Taxonomy Code: https://codeshare.io/wrF6WHello Brajesh,
You helped me out immensely several months ago here: https://buddydev.com/support/forums/topic/need-to-limit-categories-users-can-post-to-in-buddyblog/
Basically, I want to copy our previous solution, but use custom post types instead of categories to separate the official and user blogs, categories, and tags. It appears to me that this will allow for easier organizing of official and user posts, both in the front and backend. Also, I would be able to remove the “user-” prefix in the URL for all User Blog category slugs (since they will belong to a separate post type than the Official Blog).
My plan is to have a parent navigation menu item for the Official Blog, which will include all Official Blog post types, with sub-items leading to category pages for each Official Blog category. Then have a parent navigation menu item for the User Blog (separate custom post type), with sub-items devoted to it’s category pages as well (also a custom taxonomy).
I’ve already coded, to the best of my abilities, a custom post type and two taxonomies. I’ve selected these in the BuddyBlog settings. However, I have a few problems I need help with:
1. The code you provided on your blog post for BuddyBlog to be used with custom post types and taxonomies, where do I place it? bpcustom? functions? I saw on the BuddyBlog admin panel that I can already select the custom post type and taxonomies I created and they appear in the user’s front end. Do I still need to this the code?
2. My WordPress permalink settings are /%author%/%category%/%postname%/. These work fine for normal WordPress post types, but BuddyBlog custom post types by users don’t follow this. Instead, they are /user-posts/%postname%/. How do I make BuddyBlog custom post type follow my WordPress permalinks?
3. Even with the /user-posts/%postname%/ on BuddyBlog user posts, I get a 404 error (example https://www.wingmanlocator.com/user-posts/test-user-post-3/)
I really think that custom post types are the best way to go for what I’m trying to do, but it’s been quite frustrating getting them to work smoothly. If I can’t get this to work, I’m going to revert to the category solution we previously made, but I think it’s definitely worth a shot to make this work first.
Please let me know your thoughts! Thanks!
P.S. I started over with a clean WordPress install, so I don’t have any of the code currently running from the old thread, so there shouldn’t be any conflicts.
Hi Devin,
Thank you for asking.1. No, You don’t need to put the code anywhere.
2. Please visit Settings->BuddyBloog and look for the following settingShow single posts on user profile?
Set it to no, and it should redirect to single post instead of user profile. That should fix both the issue.
PS: If it is still giving 404, please visit Settings->Permalink, try to change it to something else and then change back. That will flush the permalink. When we register a post type(in general, It has nothing to do with the BuddyBlog), We need to flush the rules atleast once to make it work.
Please do let me know if that works for you or not?
Thank you
BrajeshI have already had that set to “No”. I’ve flushed permalinks as well several times. I’ve flushed them again, but no improvement.
Hi Devin,
Is there any chance that you are using some custom code related to BuddyBlog in your bp-custom.php or your theme’s functions.php?I took out:
add_filter( ‘buddyblog_use_slug_in_permalink’, ‘__return_true’ );
define( ‘BP_BUDDYBLOG_SLUG’, ‘blog’ );
define( ‘BUDDYBLOG_ARCHIVE_SLUG’, ‘posts’ );And it the 404 is fixed! However, it still doesn’t follow the WordPress permalinks. For example, I made a test post titled “Test User Post” and the URL came out to https://www.wingmanlocator.com/user_posts/test-user-post/
Hi Devin,
The only reason it is not following WordPress permalink can be somehow this filter is enabledbuddyblog_show_posts_on_profile
Either there is some remaining code filtering on it or somehow the admin settings for BuddyBlog to show posts on profile is still enabled.
Please give the settings/code another check and if you don’t find anything/it does not work, Please grant me temporary access to the site. I can debug and find the problem.
Thank you
BrajeshIt doesn’t work I’m afraid. The Worpress posts do, but the custom type User Posts do not. I PM’d you login details.
Hi Devin,
Thank you for the login details. I checked and it is working as expected.I understand that you don’t want the “user_post” in the url. It is because you have named your custom post type to “user_post”. Please see this section on codex on how to change the rewrite slug
https://codex.wordpress.org/Function_Reference/register_post_type#rewrite
Once you change the slug, It will use that. Please do note that the permalinks for custom post types have their own structure and will not exactly follow what is there for posts.
So BuddyBlog supports custom post types, but not custom post type permalinks? In that case, would I need to switch back to the original category approach that we originally used if I want to retain consistent permalinks?
Hi Devin,
No That is not the case. BuddyBlog completely supports custom post type and their permalink and that is what is happening on your site.There is a difference between default WordPress permalinks and the permalinks for custom post type. For custom post type, you specify it using the rewrite slug at the time of registration.
I guess you are assuming that the custom post type should use similar schema as the default posts but that is not the case. Whether you use BuddyBlog or not, that will have no effect on it.
Can you please tell me the structure you want to use for your custom post type permalink, May be I can find some option for rewrite slug.
Thank you
Brajesh
You must be logged in to reply to this topic.