{CODICTS} Snippets is now available

MyListing Profile Listing Maker

The {CODICTS} MyListing Profile Listing Maker plugin automates the creation of “profile listings” in the MyListing theme. When a user registers on the site, the plugin automatically creates a listing and links it to their account — effectively turning every user account into a browsable, searchable listing profile without any manual action from the user or administrator.

Installation & Activation

Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.

After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.

After activation, navigate to the new Profile Listing Maker menu in the WordPress admin sidebar to configure settings.


Key Features

FeatureDescription
Automatic Profile CreationA listing is automatically created the moment a user registers — no manual action needed from the user or admin.
Dual Account Type SupportSeparate configuration for MyListing’s “Main” and “Alternate” account roles, allowing completely different profile behaviors per role.
Single or Multiple Listing TypesAssign one fixed listing type automatically, or let users choose from a curated list during registration.
Publish or PendingProfile listings can be auto-published immediately or held in pending status for admin review.
Post-Registration RedirectOptionally redirect users to edit their new profile listing immediately after sign-up.
Dynamic Nav MenusAdds “My Profile” and “Edit Profile” buttons to WooCommerce account menus and WordPress nav menus.
Pending Approval PageRedirect users with pending profiles to a designated waiting/approval page.
Create Profile PageIf a user doesn’t have a profile listing, they’re directed to a page where they can create one.
Listing Type FilteringOn the create-profile page, only the allowed profile listing types are shown — other types are hidden.
Automatic ReplacementIf a user creates a new listing of the profile type, the old profile listing is automatically trashed and the new one is linked.

How It Works

Registration → Profile Creation

1. A user visits the registration page and fills in the WooCommerce registration form.

2. The plugin injects a listing type selector into the form — either a hidden field (single-type mode) or a visible dropdown (multi-type mode) depending on your configuration.

3. When the user submits the form, WooCommerce creates the user account.

4. The plugin automatically creates a listing post linked to the new user. The listing title is set to the user’s display name, the listing type is set to the configured type, and the status is set to published or pending based on settings.

5. The plugin stores a bi-directional link between the user and the listing, so each can be looked up from the other.

6. Optionally, the user is redirected to edit their new profile listing immediately.

Ongoing Behavior

User ActionWhat Happens
Visits “My Profile”Redirected to their listing’s public permalink.
Visits “Edit Profile”Redirected to the MyListing edit listing form for their profile.
Creates another listing of the profile typeOld profile is trashed and the new one becomes the active profile.
Profile listing is trashedUser-to-listing relationship is cleaned up and preserved for restore.
Trashed profile is restoredRelationship is re-established automatically.

Admin Settings

Navigate to Profile Listing Maker in the WordPress admin sidebar.

The settings page provides two identical configuration blocks — one for each of MyListing’s account roles:

Account TypeMyListing Role
Main Account TypePrimary role (customer)
Alternate Account TypeSecondary role (customer_alt)

This allows completely different profile listing behaviors depending on which role a user selects during registration.

Settings for Each Account Type

SettingDefaultDescription
EnabledOffMaster toggle — turns the profile listing feature on or off for this account type. All other settings are hidden when unchecked.
Publish profile listing after user registersOffWhen checked, the profile listing is immediately published. When unchecked, it’s created with “pending” status requiring admin approval.
Redirect to edit profile listing after user registersOffWhen checked, the user is immediately redirected to their profile listing’s edit form after registration.
Profile listing approval page(none)Only shown when “Publish on register” is disabled. Select a page where users with pending profiles will be directed instead of their listing. Tip: Add a button on this page with #edit_profile_link as the URL — the plugin automatically replaces it with the user’s actual edit link.
Create profile listing page(none)The page where users without a profile listing can create one. Should contain a MyListing “Add Listing Form” Elementor widget — the plugin will filter it to show only allowed profile listing types.
Enable ‘My Profile’ menu buttonOffAdds a “My Profile” link to the WooCommerce My Account navigation.
My Profile button labelMy ProfileCustom label text for the “My Profile” button.
Enable ‘Edit Profile’ menu buttonOffAdds an “Edit Profile” link to the WooCommerce My Account navigation.
Edit Profile button labelEdit ProfileCustom label text for the “Edit Profile” button.
Allow multiple profile listing type selectionOffToggle between single-type and multi-type mode (see below).

Single-Type Mode vs Multi-Type Mode

Single-Type Mode (default)Multi-Type Mode
Select one listing type that is used for all profiles of this account type.Select multiple listing types that users can choose from during registration.
The listing type field is hidden on the registration form — users don’t see a choice.A visible dropdown appears on the registration form with the allowed listing types.
Best when all users of this role should have the same profile type.Best when users should pick their profile type (e.g., “Business” vs “Individual”).

In multi-type mode, two additional fields appear:

SettingDefaultDescription
Listing type selection labelProfile TypeTitle displayed above the dropdown on the registration form.
Listing type description(empty)Help text shown below the dropdown.

The plugin dynamically adds profile-related links to both the WooCommerce account menu and WordPress navigation menus.

WooCommerce Account Menu

When enabled in settings, “My Profile” and “Edit Profile” items are added to the WooCommerce My Account sidebar navigation. The links adapt dynamically based on the user’s state:

User State“My Profile” Links To“Edit Profile” Links To
Has a published profile listingThe listing’s public permalinkThe MyListing edit listing form
Has a pending profile listingThe approval pageThe edit listing form
Has no profile listingThe create-profile page(not shown)

WordPress Nav Menus

The plugin registers two custom WooCommerce menu endpoints that appear in Appearance → Menus under the “WooCommerce Endpoints” section:

EndpointDescription
My ProfileLinks to the user’s profile listing (or approval/create page depending on state).
Edit ProfileLinks to the edit form for the user’s profile listing.

Add these to any WordPress nav menu. The URLs are dynamically resolved at page load based on the current user’s profile state. If the feature is disabled for a user’s role or they shouldn’t see the item, it is automatically removed from the navigation.


Pending Profile Approval Page

When “Publish on register” is disabled, new profile listings are created with “pending” status. You can designate an approval page where these users are directed:

1. Create a WordPress page with a message like “Your profile is under review” and a button linking users to complete their profile.

2. Set the button’s URL to #edit_profile_link. The plugin will automatically replace this with the user’s actual edit form URL.

3. Select this page in the Profile listing approval page dropdown in settings.

Now when users with pending profiles click “My Profile” in the account menu, they’re taken to this approval page with a working “Complete Your Profile” button.


Create Profile Page

For users who somehow don’t have a profile listing (e.g., registered before the plugin was activated), you can designate a page where they can create one:

1. Create a WordPress page and add a 27 > Add Listing Form Elementor widget to it. Add all listing types to the widget.

2. Select this page in the Create profile listing page dropdown in settings.

3. When a user without a profile visits this page, the plugin automatically filters the listing types to show only the allowed profile types. If only one type is available, the user is automatically redirected to the add-listing form for that type.

If a user already has a profile listing and visits this page, they are redirected to their existing profile instead.


Example Setup

1. Activate the plugin with the MyListing theme and WooCommerce active.

2. Create a listing type called “Profiles” in MyListing (or use an existing one you want to use for user profiles).

3. Navigate to Profile Listing Maker settings in the admin sidebar.

4. Under Main Account Type:

a. Check Enabled.

b. Check Publish profile listing after user registers so profiles go live immediately.

c. Check Redirect to edit profile listing after user registers so users can fill in their profile right away.

d. Leave “Allow multiple profile listing type selection” unchecked (single-type mode).

e. Select “Profiles” from the listing type dropdown.

f. Check Enable ‘My Profile’ menu button and Enable ‘Edit Profile’ menu button.

5. Create a “Create Your Profile” page with a MyListing Add Listing Form widget (add all listing types). Select it in the Create profile listing page dropdown.

6. Save settings.

7. A new user registers on the site. The plugin automatically creates a “Profiles” listing with the user’s name as the title and publishes it. The user is immediately redirected to the edit form to fill in their profile details (bio, photos, contact info, etc.).

8. After saving their profile, the user can click “My Profile” in their account menu to view their public listing, or “Edit Profile” to make changes.

9. Optionally, add the “My Profile” and “Edit Profile” endpoints to your site’s main navigation via Appearance → Menus → WooCommerce Endpoints.


Example Setup — With Admin Approval

1. Follow steps 1–3 above.

2. Under Main Account Type:

a. Check Enabled.

b. Leave Publish profile listing after user registers unchecked so profiles require admin approval.

c. Check Redirect to edit profile listing after user registers.

3. Create an “Awaiting Approval” page with a message like “Your profile is under review. In the meantime, you can complete your profile details.” Add a button with the URL set to #edit_profile_link.

4. Select this page in the Profile listing approval page dropdown.

5. Save settings.

6. Now when a user registers, their profile listing is created with “pending” status. They’re redirected to the edit form to fill in details. Their “My Profile” menu link points to the approval page where they see the review message and a “Complete Your Profile” button that links to their edit form. Once an admin approves the listing, “My Profile” automatically switches to the published listing permalink.


Frequently Asked Questions

Does this require a child theme?

No. This plugin does not override any template files and works with or without a child theme.

Is there a settings page?

Yes. Navigate to Profile Listing Maker in the WordPress admin sidebar to configure all options for both account types.

What happens when a user registers?

The plugin automatically creates a listing linked to the user’s account. The listing title is set to the user’s display name, the type is set to the configured listing type, and the status is published or pending based on your settings.

Can I have different profile types for different user roles?

Yes. The plugin provides separate configuration for MyListing’s Main (primary) and Alternate (secondary) account roles. Each can have different listing types, publish behaviors, and menu settings.

Can users choose their profile listing type during registration?

Yes. Enable “Allow multiple profile listing type selection” in settings. A dropdown will appear on the registration form letting users choose from the listing types you’ve selected.

What happens if a user creates a new listing of the profile type?

The old profile listing is automatically trashed and the new one becomes the active profile. The user-to-listing relationship is updated accordingly.

Can users edit their pending profile listings?

Yes. The plugin automatically allows users to edit their own pending profile listings, regardless of the global MyListing setting for pending submissions.

What does the #edit_profile_link placeholder do?

On the approval page, any link or button with #edit_profile_link as the URL is automatically replaced with the user’s actual edit form URL. This lets you create a “Complete Your Profile” button without hardcoding any URLs.

What if a user registered before the plugin was activated?

They won’t have a profile listing. Configure a “Create profile listing page” in settings — users without a profile will see this page when clicking “My Profile,” where they can create one. The plugin automatically filters the Add Listing widget to show only allowed profile types.

Does the plugin create any database tables?

No. All data is stored using WordPress user meta (for the user-to-listing link), post meta (for the listing-to-user link), and the options table (for plugin settings). No custom database tables are created.

What happens when the plugin is deactivated?

The profile menu items are removed from the WooCommerce account menu and nav menus. Existing profile listings and user-to-listing relationships remain in the database and are preserved if you reactivate later.


Troubleshooting

Profile Listing Not Created on Registration

CauseSolution
Not enabledGo to Profile Listing Maker settings and ensure the plugin is Enabled for the correct account type (Main or Alternate).
No listing type selectedSelect at least one listing type in the settings — either a single type or multiple types depending on your mode.
WooCommerce registration issueVerify WooCommerce registration is working correctly. The plugin hooks into WooCommerce’s registration process.
MyListing not activeThe MyListing theme must be installed and active. Check Appearance → Themes.

“My Profile” Link Not Appearing in Account Menu

CauseSolution
Menu button not enabledCheck “Enable ‘My Profile’ menu button” in settings for the user’s account type.
Wrong user roleVerify the user has the correct role (customer for Main, customer_alt for Alternate). The menu items only appear for the account type that is enabled.
No profile listing and no create page setIf the user has no profile listing and no “Create profile listing page” is configured, the menu item may not appear. Set a create-profile page in settings.

Old Profile Not Being Replaced

CauseSolution
Listing type mismatchThe new listing’s type must match one of the configured profile listing types. If the user creates a listing of a different type, it won’t be treated as a profile.
Save hook blockedAnother plugin may be interfering with the save_post_job_listing hook. Try deactivating other plugins to test.

#edit_profile_link Not Being Replaced on Approval Page

CauseSolution
Wrong page selectedEnsure the approval page is correctly selected in settings under “Profile listing approval page.”
Wrong link formatThe link must have href="#edit_profile_link" exactly — no spaces, no extra characters.
JavaScript not loadingCheck the browser console (F12 → Console) for errors. Look for the initialization log: “init – codicts action script.”

User Can’t Edit Their Pending Profile

CauseSolution
URL mismatchThe job_id in the URL must match the user’s profile listing ID, and the action parameter must be edit.
Not the listing ownerUsers can only edit their own pending profile listings. Verify the listing’s author matches the logged-in user.

Create Profile Page Showing All Listing Types

CauseSolution
Missing query parameterThe create-profile page URL must include the ?c=1 query parameter for the plugin to filter listing types. This is handled automatically when users click the “My Profile” menu link.
Plugin not filteringEnsure the page is correctly selected in the “Create profile listing page” setting and the plugin is enabled for the user’s account type.

“MyListing Theme Not Detected” Error

The MyListing theme must be installed and active. Go to Appearance → Themes to verify.


For further support, visit codicts.com or contact us at support@codicts.com.

CoDicts Co., Ltd. © 2021-2026. All rights reserved