Build a dating app with WordPress, CometChat Go, and NO CODE
Tags: wordpress, webdev
Published: 2019-12-20 09:55:06

# 📝How to build a dating app with no code
Online dating is *big* business.

The most popular online dating website boasts 23.5 million users, and according to research from Badoo.com millennials spend an average of 10 hours every single week on dating applications. 

If you have a great idea for a dating website, then you have a *huge* potential audience.

While there’s no shortage of dating websites for people to choose from, a newcomer with a great idea can still grab a huge chunk of the market. In 2018, 22-year old web developer Harry Dry launched a Kanye West-themed dating website, where lovelorn singles could search for a partner - but *only* if they appreciate “the genius Mr. Kanye West” and *definitely* not if they’re a fan of Taylor Swift. 

This Yeezy Dating website caught the attention of popular news outlets, including The Guardian, The New York Post, Mashable and Vice. According to the site’s creator, the press attention alone saw Yeezy Dating gain 5,000 users in just a few days. 

So, you have a great (or maybe just an *amusing*) idea for a dating app - in this tutorial, I’ll show you how to bring your idea to life without writing any code! 

By the end of this article, you’ll have built a website where people can register, create a dating profile, browse a Member’s Directory of other singles, and send an instant message to anyone who catches their eye.


![In this tutorial, I’ll show you how to quickly and easily create an online dating WordPress website where users can exchange messages in real time.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574887790689_cometchat+go+live+chat+window.png)



----------


# What we’ll be building

Online dating revolves around creating a profile and connecting with other users, so we need to give people a way to register with our website and manage their membership. 

To provide this functionality, we’ll be creating the following webpages using WordPress, CometChat Go and the free Ultimate Member plugin: 


- **Registration**. This page will contain a form where newcomers can register by entering their email address and creating a password.
![Visitors will be able to register with our website, by entering their email address and creating a password.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888367308_cometchat+go+registration+page+.png)

- **Login**. This is where registered users will log into their account.
![A login form is an essential part of any membership website - including online dating websites!](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888385231_cometchat+go+login+page.png)

- **Member’s Directory**. We need to give visitors a way to scroll through all the people who are registered with our website. The Member’s Directory will display the name, profile picture and cover photo for each user; if a visitor wants more information, then they can click through to that person’s profile and potentially send them a message.
![Users will be able to browse the profiles of everyone else who’s registered with your website.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888409216_cometchat+go+members+directory+.png)

- **User Profiles**. This is where the user can view and edit their profile, for example by adding a bio, uploading a cover photo or changing their profile picture. 
- **Account**. This page will allow users to make various changes to their account, including updating their email address, password, making their profile private or deleting their profile entirely. 
![The “Account” page will give users a way to make some fundamental changes to their account, including changing their password and email address.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888434520_cometchat+go+account+page+.png)

- **Logout**. Following the website’s “Logout” link will sign the user out of their account. 
- **Password Reset**. This will contain a form where users can reset their password. 
![If a user forgets their password, then they can trigger a password reset using this simple form.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888496841_cometchat+go+password+reset.png)

# Adding membership features to your WordPress website 

We can quickly and easily generate *all* the above webpages, using the free Ultimate Member plugin for WordPress:


- Log into your WordPress account, if you haven’t already. 
- In WordPress’ left-hand menu, navigate to “Plugins > Add New.”
- In the “Search plugins…” field, type “Ultimate Member.”
- When the Ultimate Member plugin appears, select “Install now” followed by “Activate.” 
![You can install Ultimate Member, and many other free WordPress plugins, in the “Plugins > Add new” area.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888516943_install+ultimate+member+plugin.png)

- In WordPress’ left-hand menu, select “Pages.”
- When prompted, click “Create pages” and Ultimate Member will generate all the following webpages: User Profiles, Account, Registration, Login, Password Reset, Logout, Member Directory.
- Click “Save Changes.” 


## Add a navigation menu 

At this point, you have all the pages required to provide membership functionality, but depending on how your website is setup it may not currently be possible for users to navigate between these pages. 

To ensure the Ultimate Member pages are always within easy reach, I’m going to add them to a menu that’ll appear along the top of my website. 

![You can help visitors navigate your WordPress website, by adding menus.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888581047_creating+a+wordpress+menu.png)


While building this menu, I’m also going to edit some of the pages’ navigational labels to better reflect their contents - specifically, I’m changing “User Profiles” to “My Profile,” and “Account” to “Settings.”


- In WordPress’ left-hand menu, select “Appearance > Menus.”
- Select “Create a new menu.”
- Give your menu a name, and then click “Create new menu.”
- Click to expand the “Pages” section and select all of the following pages: Password Reset, Account, Logout, Members, Register, Login and User.  
- Click “Add to menu” and all of the selected webpages will be added to the “Menu structure” section. 
- Your menu items will be displayed in the same order as “Menu structure.” You can change where an item appears in your menu, by grabbing it in “Menu structure” and then dropping it into a new position. 
![You can change the order that items appear in your menus, by moving them around in the “Menu structure” area.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888607358_reordering+your+wordpress+menu+.png)

- If you want to change a page’s title, then in “Menu structure” click to expand that page’s corresponding section and then edit its “Navigation label.”
- When you’re happy with how your menu is setup, click “Save Menu.” 
- To place this menu on your website, click the “Manage Locations” tab. 
- Assuming that you want this menu to appear across your entire website, open the “Top Menu” dropdown and select the menu that you just created.
- Click “Save Changes.” 
# Customising the Ultimate Member forms 

Ultimate Member generates the registration, login and profile editing forms automatically. By default these forms are pretty sparse, so you may want to add some extra fields. 

Since we’re developing a dating site, you might add fields where the user can specify their birthday, geographical location, and provide some information about the kind of partner they’re looking for. For my website, I’ve added two custom fields to the profile editing form: one where the user can write a short bio, and another where they can answer the question “who is your dream dinner guest?” 

![You can add a wide range of custom fields to your Ultimate Member forms. I’m creating “Bio” and “Dinner guest” fields, which will appear when the user is editing their profile.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888628555_cometchat+go+who+is+your+dream+dinner+guest.png)


The process of creating fields will be largely the same, regardless of the kind of field you have in mind, so you can use the following instructions to create all kinds of custom forms:


- In WordPress, select “Ultimate Member > Forms.”
- To edit the form that appears when the user is updating their profile, open the “Default profile” page for editing.
- To create a new field, give the little “+” button a click. This adds a new item, represented by another “+.” Note that you may need to scroll, to find this second “+.”
- Click to select the new “+” section. This launches the “Field Manager” window.
- “Field Manager” contains various options that you can use to create a range of custom fields. I want to create a text field where the user can enter their bio, so I’m opting for “Text Box.” 
![Ultimate Member supports a wide range of custom and predefined fields.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888681653_ultimate+member+field+manager+window.png)

- In the subsequent window, enter a “Title” which will be used on the back-end as a reference, and will *not* appear anywhere on your website.
- Give your custom field a “meta key.” This will be used to manage any information that the user enters into this field, and won’t be visible on your website. This key must be unique and should be in lowercase with an underscore separating words.
- You can now assign a label to this field, which *will* be user-visible; I’m opting for “Tell us about yourself!” 
- In the “Placeholder” field, enter some placeholder text; I’m using “This is my bio.”
- Make sure the “Can user edit this field?” checkbox is selected. 
- When you’re happy with the information you’ve entered, click “Update.”
- Rinse and repeat for every custom field that you want to add to this form. 
- When you’re happy with the changes you’ve made, don’t forget to save your work by clicking “Update.” 

Now, when the user is editing their profile they’ll have access to two new custom fields.


# Add live chat to your dating website

The best way to connect with a potential new partner is to strike up a conversation!

While your users *could* make a connection by exchanging messages or even emails, you can provide a much better user experience by letting them communicate in real-time.

You can quickly and easily add live chat to your dating website, using the CometChat Go plugin. 

If you haven’t already purchased CometChat Go, then you can [grab your license now](https://www.cometchat.com/go/pricing/), or they offer a [free 7-day trial](https://www.cometchat.com/go/pricing/), so you can see *exactly* what the plugin has to offer, and then decide whether it’s right for you. 

If you’ve just purchased CometChat Go, then the first step is uploading it to your WordPress website:


- Once you’ve completed your purchase, download the CometChat Go plugin. 
- In your web browser, sign into the [CometChat Client Area](https://secure.cometchat.com/).
- Select “Manage.”
- In the menu bar, select “API keys.” 
- Make a note of the following information, as you’ll need to add it to your WordPress account: Auth Key, API Key, and License Key.
- Log into your WordPress and navigate to “Plugins > Add new.” 
- Select “Upload Plugin.”
- Click “Add New” followed by “Choose file.” 
- Select the cometchat.zip file you downloaded in the previous step. Click “Open,” followed by “Install Now.” CometChat Go will now be uploaded to your WordPress website. 
- When prompted, select “Activate plugin.”
- In WordPress’ left-hand menu, select the new “CometChat” item.
- Enter your license key and click “Install.”
- Enter your Auth Key and API Key, and then click “Update.” 


# Sending private messages with CometChat Go

At this point, your website already has live chat functionality!

If you open any webpage, then you’ll see the CometChat Go popup in the bottom-right corner. Anyone who visits your dating website can now view a list of everyone who’s online, and send instant messages to any of these people in real-time.

However, this isn’t how people tend to use dating websites. The majority of your users will want to browse the Member’s Directory, and then send private messages to specific users - they’re unlikely to pick a random person from a list of everyone who’s currently online! 

To provide a better user experience, I’m going to add a “Send me a message!” link to every user’s profile. Whenever someone clicks this link, it’ll launch a private CometChat Go session with this specific user, making it easy to reach out to someone after viewing their profile.

![You can send any user a private message, by opening their profile and clicking the “Send me a message” link.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888719866_cometchat+go+send+a+private+message.png)


To deliver this functionality, we’ll need to add some code to the “User” page and the Ultimate Member plugin’s template - but I’ll be providing the *exact* code you need, so you can copy/paste it straight into your WordPress account.


## Adding chat to user profiles 

Firstly, we need to add a docked CometChat Go window to the user profile page:


- In WordPress’ left-hand menu, select “Pages.”
- Open the “User” page for editing.
- Copy and paste the following code into this page:


    [cometchat layout='docked' width='990' height='600']


- Click “Update.”
![You can add live chat to any WordPress webpage, by copy/pasting the above code.](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888753882_add+docked+cometchat+go+layout.png)

## Editing WordPress plugin templates

Every time someone clicks the “Send me a message” link, CometChat Go needs to identify the profile this person is currently viewing, and then launch a private chat session with this particular user.

In this section, we’re going to edit the Ultimate Member templates so that CometChat Go can dynamically retrieve the profile’s all-important user ID: 


- In WordPress’ left-hand menu, select “Plugins > Plugin Editor.”
- Open the “Select plugin to edit” dropdown and choose “Ultimate Member.”
![You can edit a plugin’s code, by navigating to “Plugins > Plugin editor.”](https://paper-attachments.dropbox.com/s_8445F73C512AE35A2B10808A1A89C54531A40A1B72925FA6D0E56A2F514A44B1_1574888773835_ultimate+member+edit+plugin+templates.png)

- Give the accompanying “Select” button a click.
- In the right-hand “Plugin Files” menu, select “templates,” followed by “profile.php.”
- Scroll to the very bottom of this file. It should currently look like this:


                do_action( "um_profile_content_{$nav}_{$subnav}", $args ); ?>
              <div class="clear"></div>
                      </div>
            <?php }
            }
              do_action( 'um_profile_footer', $args ); ?>
         </div>
    </div>

                  

- You need to copy the following code:


`//Add the following//`

```<a href="javascript:jqcc.cometchat.launch({uid:'<?php echo um_profile_id(); ?>'});">Send me a message!</a>```


- Paste your copied code into this *exact* position:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/g52nbrv2koi89lrnr986.png)

- Click “Update file.”

And that’s it! If you navigate to any user profile, then it should now feature a “Send me a message” link; click this link and CometChat Go will launch a new private chat window with this specific user. 

# Conclusion 

In this tutorial, we built a dating website from scratch without writing *any* code. 

If you’ve been following along, then users will now be able to register with your website, create a dating profile, browse a Member’s Directory and send private instant messages to other users in real-time, using CometChat Go.  

Now the rest is up to you! Regardless of whether you have an idea for an innovative, cutting-edge feature that’s completely new to the world of online dating, or a gimmick to rival Yeezy Dating; you’ve laid the foundations for a successful dating website. Now it’s time to really bring your vision to life, and make your website stand out from the crowd.

If you do use this tutorial to kickstart your online dating project, then we’d love to see your creations! Why not Tweet @CometChat and @Makerpad so we can share your work.