Move the Discourse Username field out of WordPress Contact Info section

I’m having a problem with the “Do Not Display Discourse Name Field” setting. If I understand it correctly, I should be able to associate my user on WP with my user on Discourse, by setting the field in my Wordpress profile. I’m also getting an alert on WP, warning me that I still need to do this, and linking to my profile page.

However, regardless of whether to not that setting is checked or not, I don’t see a field related to Discourse on my profile edit page.

(I’m not using any SSO features, if that matters.)

Thanks in advance for your help.

Edited to add: This is the warning I’m getting when publishing new posts on Wordpress:

You have not set your Discourse username. Any posts you publish to Discourse will be published under the system default username ‘system’. To stop seeing this notice, please visit your profile page (linked) and set your Discourse username.

The field is called Discourse Username. If you haven’t selected the Do Not Display Discourse Name Field option, it should appear in the Contact Info section of your WordPress profile page.

35%20PM

2 Likes

Thanks for your help, @simon. That’s exactly what I was expecting to see, but it just wasn’t there.

I changed my theme and then it showed up. So apparently there is an incompatibility between this plugin and my theme. I don’t have any idea why this would be the case, though, since this is in the admin section of the site.

I mean, the theme (Extra, by Elegant Themes) adds additional settings to that page, but I’ve got another plugin that adds additional fields to the profile edit screen without any issue. Any thoughts on how this might be able to be resolved?

1 Like

Contact Info fields are added to an array that is supplied by a WordPress hook. It’s possible that your theme is overwriting the array instead of adding to it. If that’s the case, there is nothing that the WP Discourse plugin can do about it. I’ll take a look at this on Monday.

If you don’t have very many users publishing posts to Discourse, a temporary workaround would be to disable your theme, fill in the Discourse Username field for your users, and then re-enable your theme.

3 Likes

Ok. I’ll be interested to hear what you find. Like I said, I’ve got another plugin that successfully modifies that page, even with my theme, but it’s not modifying contact info specifically. (And yes, I checked that the conflict is with the theme, not this other plugin.)

I wouldn’t be surprised if the Extra Theme replaces the contact info, but is the Discourse username really the same as all the other contact info fields? All the rest of them are URLs leading to other places people can follow you. I don’t think the Discourse username should be in the same category unless it works the same way. Can’t it just be put in a separate section on the same page (ie stored someplace besides the contact info array)?

This is all on a staging site, so I can use your workaround for now, but not long term. If I enabled SSO, would that bypass the issue?

And thanks for all the help as I work on rolling this out!

Yes, if you enable the Create or Sync Discourse Users on Login (found on the SSO Provider tab) the Discourse Username filled in when a user logs in to WordPress.

No, it isn’t. It’s in that group of fields because WordPress supplies a hook to add extra fields there. I’d like to move it.

3 Likes

Hey @simon @jtbayly

I’ve also run into the same issue using the Extra theme by Elegant Themes. I just wondered if there had been any changes or ways around this other than those mentioned above.

Thanks guys

Lewis

I’m not aware of any changes on this front. I have a static # of WP users, so I just manually fill in the username by temporarily switching to a different theme.

2 Likes

Ok great thanks, I’ll back up then give that a try (just in case it messes up my Extra install by disabling/re-enabling.

Thanks for getting back so quickly.

Kind regards

Lewis

1 Like