Read Our Reviews

Bold City Design is rated 5 out of 5.0 stars based on 11 review(s).


These guys are full of energy and great ideas.  They are local to the area and have a great reputation but also young enough to bring new technology and fresh ideas.  We had previously been working with another company on website marketing but the relationship had grown stale.  The same thing again and again and the results simply were not there.  Bold City has provided great direction and a new plan that we’re excited to see through.  I would certainly recommend them to others.

- Tess Riley


We hired Bold City to handle a marketing campaign for a newly released product we were rolling out.  We searched high and low before making a decision but the reviews & portfolio of Bold City coupled with cost considerations made this decision a no-brainer.  Bold City has been terrific crafting both an organic marketing campaign and PPC campaign to help drive our product sales.  While still in the early stages, we’re already seeing results and are looking forward to 2019!

- Tom Karol


Cabe and crew have been nothing but professional and highly organized throughout our entire website design project with them.  They had excellent recommendations in terms of content and flow of our website.  We would definitely recommend them to others.

- Mark Dawson


We LOVE Bold City.  If you’ve been searching for a web design company and afraid you’ll choose the wrong one, stop worrying!  You’ve found them.  Just don’t get too busy and forget about us :).

- Haley Walter


We’re a Jacksonville based technology company that needed to outsource a WordPress project.  A previous employee we had moved on from the company and we had nobody that understood our internal WordPress system.  Bold City really impressed me by how quickly they were able to pickup where our employee had left off.  They had several recommendations that improved our processes and made the system run better.  They were fair with pricing and will continue to be our go to company for any and all WordPress related questions or work.  Great job guys!

- Bob Turner


I’ve been working with Cabe on and off for nearly a decade.  We met on a mutual project and I’ve continued to keep him close due to his understanding of WordPress and ability to handle pretty much anything I throw at him custom development-wise.  Me being based in Canada, we’ve never actually met face to face but his communication skills are hard to find in a developer.  I don’t believe he’s ever missed a deadline and he’s always been willing to work with me to solve complex problems.  I can’t say enough about his ability to organize complex issues down to simple processes.  I’m sure Bold City follows his attention to detail and fulfillment of their promises.  I would recommend them to anybody.

- Kirby Sampson


The best of the best.  You’ve earned a client for life.  For anybody else looking, these guys know their stuff. Fast, affordable and understand that times money. 

- James McConnell


Can I give them 6 stars?!? These guys rock.  Local St. Augustine company that is always available when you need them.  If you’re looking for a great web design company you’ve just found it!

- Lucy Keller


We’re big fans of Bold City and have been since we started our website back in 2014.  Always very easy to get a hold of and give honest answers to our questions.  Fair with pricing and very reliable.  What else could you ask for?

- Mary Acumen


We had been with our previous web design company for nearly 5 years.  They were good but we didn’t feel like what they were doing was working.  We decided to make the switch to Bold City and the change of pace has been better than expected.  Great communication and bringing fresh ideas to our business and marketing.  If you’re looking to make change or starting a new business I would highly recommend Bold City.

- Jane Thomas


Trust me, your go to guys when it comes to website design.  As a general contractor, I wouldn’t call myself tech savvy.  These guys were efficient at explaining the process and delivered on every promise they made.  They know what their talking about and do great work.  Would recommend them to anybody.

- Greg Rodgers

WordPress REST API – Creating A Post With Post Meta (Custom Fields)

WordPress REST API – Creating A Post With Post Meta (Custom Fields)

This post was originally created on our sister site WP Cover.
View Original Article
June 1, 2018

A business venture of mine has been evolving and as a result, I’m excited to get my first in-depth, real-world exposure to the WP REST API.  For the most part, I know my way around as I took a day or two back when it was all the talk to learn the basics but I’ve never had a good real-world opportunity come up to use it until recently.

Without getting to in-depth on the specific project, the main goal is to securely create a post (as a custom post type) and also create a new user.  We’ll also be updating custom fields for both the post and the user.  These custom fields will have already been created using Advanced Custom Fields.

Setting The Stage:

For this tutorial, I’m going to assume that Site A & Site B are both WordPress sites.  Site A is where I will want to connect to the REST API.  Site B will be where the remote call will be coming from.

On Site A, I’m going to install a plugin from the WordPress repository called Application Passwords.  It will handle our authentication.  Application Passwords is a step above basic username/password authentication but below Oauth.  It will work for this project since there will only be one, consistent source that will be sending requests to the API.  Application Passwords is also very simple to setup and work with.


On Site B, I’m going to install my handy WP Cover ‘Do Random Stuff’ Plugin.  You don’t have to if you prefer to setup the test environment a different way but this plugin just creates a simple canvas to construct my API calls to Site A.

Gathering Credentials

Next, it’s time to gather my authorization credentials.  Head over to Site A and activate the Application Passwords plugin if you did not do so already.  Head over to Users and edit or create a new Editor user.

Side note, for my specific project I did not want to give full admin capabilities to the user connecting over the API.  This is why I’ve utilized an Editor.  For your project, you may be fine with using an Admin role instead.  Up to you.

On the Edit User screen for the user you have selected, scroll to the bottom and generate a new Application Password.  A popup will show your application password.  Make sure you save it as it will never be shown again.


Constructing the Call

We’re ready to head over to site B and construct our API call.  We’ll go edit our ‘Do Random Stuff” plugin with the below code (I’ll explain it in a minute):

Do Stuff

Click Process button to do whatever is below in your run process. array( 'Authorization' => 'Basic ' . base64_encode( 'USERNAME:APPLICATION_PASSWORD' ) ), 'body' => array( 'title' => 'WP Cover Test Post', 'status' => 'draft', 'content' => 'this is the main content box', 'meta' => array('field-symbol' => 'CNENT', 'field-description' => 'I get it') ) ) ); $body = json_decode( $api_response['body'] ); if( wp_remote_retrieve_response_message( $api_response ) === 'Created' ) { echo 'The post ' . $body->title->rendered . ' has been created successfully'; } } ?>

The first value you will want to change will be the wp_remote_post URL. Obviously replace YOURWEBSITE with the correct URL to Site A.  Also, the very last value of /dogs should correctly correspond to your custom post type.  Secondly, you’ll need to adjust the USERNAME and APPLICATION_PASSWORD to the WordPress username and application password you generated in the earlier step.

Your API call is almost ready to go!  Go ahead and adjust the post data inputs as you see the need until we get to the last value of Meta.  Meta will be your custom fields and as I mentioned earlier, I’ve already created these custom fields on Site A using Advanced Custom Fields.  The meta values are delivered in an array as seen in the above code example.

Before our meta values will successfully populate into the post, we have to add another function.  Head back over to Site A and open up the functions.php file on your active theme and add in the following:

add_action("rest_insert_dogs", function (WP_Post $post, $request, $creating) {
    $metas = $request->get_param("meta");
    if (is_array($metas)) {
        foreach ($metas as $name => $value) {
            update_post_meta($post->ID, $name, $value);
}, 10, 3);

On the first line, change the action of rest_insert_dogs to your custom post type. So if your post type was cats, your action would be rest_insert_cats.

Save the file.

Ready to Go

You’re ready to test out your API call.  Press the Process Posts button the Do Random Stuff plugin page on Site B and see what happens!  If all went to plan, you should be returned a value of:

The post (Insert Post Name) has been created successfully.

Of course you’ll want to check on Site A to be sure everything went smoothly.

I’ll be back next week to discuss the API call to add a new user and we’ll also combine both of these calls to effectively add a new post created by this new author.

The post WordPress REST API – Creating A Post With Post Meta (Custom Fields) appeared first on WP Cover.

Share Your Thoughts

FREE: 10 Step Guide To Choosing A Web Design Company

FREE: 10 Step Guide To Choosing A Web Design Company

Download your free e-book. Learn the questions you should be asking prior to partnering with a web design company. Enter your email address and we'll send it to you right away!

We've sent the e-book to your email address!