WP 4.9.6, Privacy, Hooks, and You

WordPress 4.9.6 has been released. This was a focused release, a little different than other minor releases, in that it adds a system for a privacy policy to WordPress. While the only change to plugins has been our requirement that you not claim (or imply) 100% compliance in anything, the changes to privacy awareness are far reaching.

The tl;dr of the whole post is “You’re going to need to consider the impact of data collection in your plugins, even if you don’t collect anything.” So yes, I know it’s long, but please read the whole thing.

NOTE: We are not lawyers. We cannot tell you if what your plugin is doing is going to break a law. Please don’t ask us to try and figure that out for you. The purpose of this post is to make you aware of what’s going on, and give you a place to start with making your plugins better.

Does This Impact You?

Yes. This impacts everyone. Plugins are used internationally which means you actually do have to be aware of the world, Net Neutrality shenanigans aside. Your plugin could, in fact, cause someone to get in legal trouble. While that is technically their responsibility, you should be as aware as possible of the implications of your code and how it’s used.

Ask yourself this: Does your plugin…

  • … write any private data of users (registered or visitors) to the database?
  • … send any data to remote servers (i.e. act as a service or embed content)?
  • … edit the comments form in any way?

If yes, then this absolutely, without a doubt, impacts your plugins.

If no, then this may still impact you, so please keep reading, because people are going to ask you about this.

Privacy Means Disclosure

If you’re a service, like you pull a library from a remote server, then you have to tell people that you pull data remotely. This has always been a policy, so if you’re not disclosing this now, please go fix it right away.  But you also need to tell people the obvious things, like embedding content via your plugin means the site administrator is consenting to the embed terms of that service.

An example for you. Let’s say you have a plugin that embeds YouTube playlists. Your plugin should be clear “This plugin embeds YouTube Playlists.” We also recommend you include a link to YouTube’s privacy doc. It’s alright to say “By using the embed features in this plugin, you will be agreeing to YouTube’s Terms of Use.”

The same holds true now for data stored locally. If your plugin stores browser data of visitors, then yes, you need to document and disclose this. You can’t force site admins to publicize this in turn, but by making sure they know, you’re helping them determine what their own reasonable disclosure should be.

Some Code To Help

WordPress has gone the extra step to make it easier to make a privacy page and hook into it, both for users and developers. The moving parts you need to be aware of are the tool for users to request an export of all the stored data associated with them on the site. There’s also a tool for users to request erasure of that same data. Both tools include admin workflows to fulfill those requests. And there’s one to suggest what kind of text should be on someone’s site.

The handbooks have been updated to help you out here:

Also, while this is a little more aimed at theme developers, if your plugin happens to mess around with comments, please read the changes that affect themes, as there is going to be a new checkbox for comments.

Update Your Plugins

The tl;dr of all this is that plugins should…

  • … disclose what user/visitor information it saves in the readme;
  • … hook into the privacy page creator to inform people there too;
  • … provide a way to export said information;

We aren’t (currently) changing any policy to require all this. At the same time, I strongly recommend at the bare minimum everyone put a privacy policy in your readme. Even if you don’t save any data and you don’t send anything, make a Privacy Policy anyway and tell people that.

Why? At the very least, it may stop people from asking you “Is this plugin collecting any data?” which saves you time. But more importantly, this is to protect yourself. After all, if people come through with a 1-star review that you caused them to become non-compliant because you didn’t disclose local data collection, well, that would be a very justified review.

#core, #guidelines, #privacy

Closing Unused Plugins

When you submit a new plugin, we get to see every single plugin you’ve ever submitted. This means we also see how many plugins we approve that people never use. At this moment, there are over 9100 plugins approved and unused.

Edit: Unused means LITERALLY unused. No one uploaded code. Ever.

Because of that, we’re going through and closing unused plugins if it’s been 6+ months since the plugin was approved. In addition, if we notice a pattern of behaviour, where you are submitting multiple plugins and not using the provided hosting, we will pend any new submissions until you actually use the directory.

The good news about this is once we close it, people can request to take over the slug and use it for a new plugin.

Remember: Every time you submit a plugin, a human being downloads and reviews your code. If you’re submitting with out a plan to actually use the hosting, you are abusing the finite resources, and taking away from everyone else who is using the directory. Worse, we’ve found out some people like to get a review as a ‘free’ security review instead of hiring people for that work.

Most of you, this won’t impact in the slightest. After all, you use the hosting 😀

And of course, if you have a plugin you don’t want to host anymore, you can always ask us to close it (though please read the FAQ on Closing Plugins first).


How to Fix Custom Fields Not Showing in WordPress

Are you unable to find the custom fields option on your WordPress site? Custom field is an advance WordPress feature that helps you add custom content to your WordPress posts and pages by following various WordPress tutorials. In this article, we will show you how to easily fix custom fields not showing issue in WordPress.

Fix missing custom fields in WordPress

Fixing Custom Fields Not Showing Issue in WordPress

Custom fields are typically associated with WordPress post, pages, or custom post types. Often you will find custom fields mentioned in various WordPress tutorials around the web, but you will likely not see the custom fields option on your site specially if you recently started your WordPress blog.

In the past, custom fields were visible by default on the post edit screen of all WordPress sites. However since it is an advance feature, the WordPress core development team decided to hide custom fields by default for all new users in the WordPress 3.1 release.

They also made it easy for anyone to make them visible with just two clicks from within the post edit screen.

Simply create or edit an existing post / page, and then click on the ‘Screen Options‘ button at the top right corner of the screen. This will show you a menu with several options that you can show or hide on your post edit screen.

Go ahead and click on the checkbox next to ‘Custom Fields’ option.

Show custom fields

Note: If you don’t see the Custom Fields option on your site, then please scroll to the troubleshooting option below in the article.

You can now scroll down on the post edit screen, and you will notice a new meta box labeled ‘Custom Fields’ below your post editor.

Custom Fields box

Since WordPress remembers your display choice, it will continue to display the custom fields box whenever you are editing posts on your website.

You can use this box to add, edit, and delete custom fields and their values.

What are Custom Fields? What Can You Do with them?

By default, when you write a new post, page, or any content type, WordPress saves it into two different areas. The first part is the body of your content that you add using the post editor.

The second part is the information about that particular content. For example, title, author name, date / time, and more. This bit of information about the post is called metadata.

Apart from the default post metadata, WordPress also allows you to save custom metadata by using custom fields.

To learn more, see our beginner’s guide to WordPress custom fields with examples, tips, and tricks that you can use on your website.

WordPress developers use custom fields to store custom post metadata for your posts. For example, the Yoast SEO plugin uses custom fields to store SEO settings for your posts.

Yoast SEO meta box

However instead of using the default custom fields box shown above, these plugin developers create their own custom meta boxes. This makes it easier for users to input information.

If you want to create a custom meta box to easily input custom metadata, then see our guide on how to add custom meta boxes in WordPress.


Recently one of our readers came to us with a problem where the Custom Fields option was missing from the WordPress screen options. After some investigation, we were able to find the cause of the issue.

If your WordPress site is missing the custom fields option under the ‘Screen Options’ menu, then you need to check if you have the Advanced Custom Fields (ACF) plugin active on your site.

ACF is a very popular WordPress plugin that developers use to create custom meta boxes. ACF is running on over 1 million websites.

In ACF version 5.5.13, they added a setting to remove the default WordPress custom field metabox to speed up the load times on the post edit page. The idea being that you shouldn’t need the default metabox since you’re using ACF.

However if you need to have the default WordPress custom field metabox enabled, then you need to add the following code to your WordPress theme’s functions.php file.

add_filter('acf/settings/remove_wp_meta_box', '__return_false');

This will solve the custom fields option missing issue in WordPress.

We hope this article helped you fix the custom fields not showing issue on your WordPress site. You may also want to see our ultimate list of most useful WordPress tips, tricks, and hacks.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Fix Custom Fields Not Showing in WordPress appeared first on WPBeginner.

WordPress 4.9.6 RC1 Released

WordPress 4.9.6 Release Candidate 1 is available for download and addresses some of the issues that have been reported in beta 1. Since the beta’s release, there have been 30 bugs fixed.

Many of the fixes in this release are focused on the new privacy tools that help with GDPR compliance. The verbiage has been changed in multiple areas to make explanations and actions clearer. For example, the Privacy Policy introduction text has been shortened and more user friendly.

One notable bug fix is that site administrators now receive an email when a Personal Data Export/Removal request is confirmed. In a future version of WordPress, it’s possible that the notification bubbles will be extended to display confirmed requests.

A full list of changes in this release can be found on Trac. This minor release needs more testing than usual due to the privacy tools and enhancements introduced. Please test 4.9.6 on staging site or local server and if you encounter any issues, report them on the Alpha/Beta/Release Candidate section of the forums.

How to Convert WordPress Categories to Custom Taxonomies

Do you want to convert your WordPress categories into custom taxonomies? Categories are one of the two default taxonomies that help you sort your content. However, WordPress also allows you to create and use custom taxonomies. In this article, we will show you how to easily convert WordPress categories into custom taxonomies.

How to Convert WordPress Categories to Custom Taxonomies

Why and When Do You Need to Convert Categories to Custom Taxonomies

Categories and tags are the two default taxonomies in WordPress. Taxonomies are used to sort and organize content into different topics.

Apart from the default taxonomies, WordPress also allows you to create custom taxonomies which you can use with existing post types or with custom post types. For more on this topic, see our article on when do you need a custom post type or taxonomy in WordPress.

As your website grow, you might find a need to convert your categories into a custom taxonomy. For example, let’s say that you have a category called topics with a lot of sub-categories. It would be time-consuming to edit each post and file it under your new custom taxonomy.

Wouldn’t it be nice if you could bulk convert some or all of your categories to the new custom taxonomy?

Let’s take a look at how you can easily convert categories to custom taxonomies without manually editing each post.

Converting WordPress Categories to Custom Taxonomies

First thing you need to do is install and activate Taxonomy Switcher plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit Tools » Taxonomy Switcher page in your WordPress admin area to convert categories to custom taxonomies.

Taxonomy Switcher

On this page, you can select the taxonomies you want to convert. For this tutorial, we will select ‘Categories’ as the taxonomy we want to switch from, and ‘Topics’ as the custom taxonomy we want to switch to.

Select taxonomies

If you want to convert all categories to a custom taxonomy, then you can go ahead and click on the ‘Switch Taxonomies’ button.

The plugin will convert all categories to your selected custom taxonomy. You will see a success message like this:

Successfully switched taxonomies

If you just want to convert specific categories, then you will need to add the IDs of those categories next to ‘Comma separated list of term ids to switch’ field. See our article on how to find category IDs in WordPress for more details.

Skip categories

Additionally, if you want to skip child categories of a specific category, then you can add the IDs of the parent category next to ‘Limit taxonomy switch for child terms of a specific parent’ option.

Don’t forget to click on the ‘Switch Taxonomy’ button to save your changes.

Setting Up Redirects from Category to Custom Taxonomy

After you switch categories to a custom taxonomy, the category archive page will now show a 404 error page. This is nothing to be worried about if your website is not live yet.

However if your website is live, then search engines may have already crawled your category pages and indexed them. This means that those pages can appear in search results and users coming from search engines will see a 404 error page.

To fix this, you need to redirect users to the new taxonomy page for each category.

Luckily, there is an easy fix for that.

First, you will need to install and activate the Redirection plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit Tools » Redirection page. In the Source URL field, you need to enter /category/.* and in the Target URL field you need to enter your custom taxonomy slug, e.g. /topic/$1

Set up redirects

Next, you need check the box next to ‘Regex’ option, and then click on ‘Add Redirect’ button.

This redirect will now send all category archive traffic to your custom taxonomy. Only use this, if you don’t want to use categories at all.

If you want to redirect individual categories to a custom taxonomy page, then see our beginner’s guide on setting up redirects in WordPress with detailed step by step instructions.

We hope this article helped you learn how to convert WordPress categories to custom taxonomies. You may also want to see our guide on how to style individual categories differently in WordPress to style your custom taxonomy templates.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Convert WordPress Categories to Custom Taxonomies appeared first on WPBeginner.

How to Change WordPress Theme via phpMyAdmin

Recently one of our readers asked us if they can change their WordPress theme from the database. WordPress makes it extremely easy to manage themes from the admin area. However, if you are unable to access your WordPress admin area, then you will need to find other ways to change your WordPress theme. In this article, we will show you how to easily change your WordPress theme via phpMyAdmin.

Change WordPress Theme from phpMyAdmin

Why and When You Need to Use phpMyAdmin?

Normally, the easiest way to change your WordPress theme is by visiting the Appearance » Themes page in WordPress admin area. However, sometimes a WordPress error can make your website admin area inaccessible.

In that case, the safest way to recover your website is by restoring it from backup. Another way is to troubleshoot the WordPress error causing the problem. In troubleshooting, the easiest way to switch themes is to make a backup of your existing theme via FTP, and then remove all theme folders from /wp-content/themes/ except for the default theme. WordPress will automatically revert to the default theme.

Both of the above methods will give you access to the WordPress admin area, and you will be able to change the theme.

However if you don’t have a backup, and you don’t want to revert to a default theme, then you can change to a custom WordPress theme from your database by using phpMyAdmin.

That being said, let’s take a look at how to change your WordPress theme via phpMyAdmin.

Changing Your WordPress Theme via phpMyAdmin

This method allows you to tell WordPress which theme to use by changing the information in the database. For this method to work, the theme you want to switch to must already be installed on your website.

You will need to connect to your website using a FTP client and go to the /wp-content/themes/ folder. There you will be able to see all the themes that are currently installed on your website.

WordPress themes folder

Note: Write down the theme folder name that you want to switch to. You will need it in the next step.

If the theme you want to switch to isn’t installed on your website, then you can manually install a WordPress theme via FTP.

After making sure that theme you want is installed on your website, you can now go ahead and change the theme via phpMyAdmin.

First, you need to go to cPanel dashboard of your WordPress hosting account. Next, scroll down to the databases section and then click on phpMyAdmin.

Open phpMyAdmin from cPanel

Once you are in phpMyAdmin, you’ll see a list of databases on the left side of the screen. Simply click on the database that you are using for your WordPress site.

Select Database

Next, it will show you the list of tables in this database. You need to click on the ‘wp_options’ table to open it.

Note: By default, WordPress database tables use wp_ as the prefix for table names. However, it is possible to see a different database prefix if you or an administrator on your site had changed the WordPress database prefix.

Select Table

Upon opening the table, you need to scroll down and locate ‘template’ and ‘stylesheet’ rows. Next, click on the Edit button next to the template row.

Editing rows in phpMyAdmin

This will open the row editor where you need to change the value for the option_value field to the theme you want to use. It is usually the same as the folder name in /wp-content/themes/ folder.

Change theme option value

After that click on the ‘Go’ button below to save your changes. Now, repeat the process for stylesheet row as well.

Once you have saved your changes, you can go to your website to see the new theme in action.

We hope this article helped you learn how to change WordPress theme via phpMyAdmin. You may also want to see our complete beginners guide to WordPress database management using phpMyAdmin.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Change WordPress Theme via phpMyAdmin appeared first on WPBeginner.

How to Easily Accept Credit Card Payments on Your WordPress Site

Do you want to learn how to accept credit card payments on your WordPress site? By default, WordPress does not come with credit card payment options, but there are plenty of plugins and tools that can help solve that. In this article, we will show you how to easily accept credit card payments on your WordPress site.

Accept credit card payments in WordPress

Note: You will need to enable HTTPS / SSL on your website to accept credit card payments.

Accepting Credit Card Payments in WordPress without Shopping Cart

Often users don’t want to setup a full-fledged shopping cart to accept credit card payments. This makes a lot of sense specially if you’re only selling a single product or accepting payments for consulting / services.

In this case, all you need is an online order form with a credit card payment option.

Here is how you can easily accept credit card payments without adding a shopping cart to your website.

First thing you need to do is install and activate the WPForms plugin. For more details, see our step by step guide on how to install a WordPress plugin.

WPForms is the most beginner friendly WordPress form builder plugin. While they have a Lite version that’s free, you will need their PRO plan to access the payment add-ons.

Upon activation, you need to visit WPForms » Settings page to enter your license key. You can find this information in your WPForms account area.

Enter your license key

Next, you need to head over to WPForms » Addons page and locate the Stripe addon. Go ahead and click on the ‘Install Addon’ button and then click on the ‘Activate’ button.

Install Stripe addon for WPForms

Stripe is a credit-card processing platform that makes it easy for businesses to accept credit card payments on their website. WPForms makes it easy to connect your WordPress website to Stripe.

Once the Stripe addon is activated, we need to connect WPForms to your Stripe account. To do that, head over to WPForms » Settings page and click on the ‘Payments’ tab.

WPForms payments settings

You will need to enter your Stripe API keys. You can find this information in your account settings on Stripe’s website.

Don’t forget to click on the ‘Save Settings’ button to store your changes after entering the API keys.

WPForms is now ready to accept credit card payments. Let’s create an online billing or order form that you can add to your website for accepting credit card payments.

Head over to WPForms » Add New page. From here you need to provide a title for your form and then select ‘Billing / Order Form’ template.

Creating a billing form

WPForms will pre-load the form builder with a billing/order form template with commonly used fields. You can point and click to edit any form field. You can also add new fields from the left column.

Editing order form

Next, you need to scroll down to the Payment Fields section in the left column. From here you can add payment related form fields.

WPForms allows you to add multiple items as well as single items that users can order. You can click on the item field to change item details and pricing.

Add credit card field

After editing item details, go ahead and click to add the credit card field to your form.

Now that your form is setup, let’s enable payments for this form. To do that, you need to click on the Payments tab on the left and then select Stripe.

Enable Stripe payments

You will need to click on the checkbox next to ‘Enable Stripe payments’ option and provide a description of the payment. Optionally, you can send an email receipt to your users by selecting the email field from the drop-down menu.

Next, you may want to receive an email notification for new orders and purchases. You can also send a confirmation email to notify the user that you have received their order.

Let’s setup notifications for your billing form.

You need to start with clicking the ‘Settings’ tab on the left and then select ‘Notifications’. You will notice that WPForms has already created a notification that sends an email to your WordPress admin email address when a new order is placed.

Notification settings

You can edit this notification message. For example, you can provide additional email addresses, change email copy, subject, and more.

If you want to send a separate notification to your users, then click on the ‘Add New Notification’ button.

You will be asked to provide a name for the new notification. Let’s call it ‘Customer Notification’. After that you will see the notification fields that you can edit.

Creating new notification email

You need to click on the ‘Show Smart Tags’ link next to ‘Send to email address’ option and select the ‘Email’ field. This allows WPForms to use the email address that your customer provided when submitting the form.

Editing new notification email

You can edit rest of the notification email by providing a subject line and message. You can also use smart tags to use the form fields submitted by the user to add item details, user’s name, and other personalized information.

Once you are done, you can click on the save button at the top and exit the form builder.

Save and exit form builder

Your online credit card payment form is now ready, and you can add it to any WordPress page on your site.

Simply edit a page or create a new one, and then click on the ‘Add Form’ button above the page editor.

Add your credit card payment form to a WordPress page

This will bring up a popup where you can select the order form and click on the add form button to continue. WPForms will now enter the required shortcode to your post edit area.

You can now save or publish your page and click on the preview button to see your form in action.

Payment form page preview

Note: Don’t forget to test your form to make sure everything is working fine. If you are unable to send or receive email notifications, then follow the instructions in our guide on how to fix WordPress not sending email issue.

WPForms is the simplest way to accept credit card payments in WordPress, and it is the easiest way to create just about any type of form in WordPress. This is why it ranks #1 in our list of the best WordPress contact form plugin. WPForms has over 1 million active installs and a 4.9 out of 5 star rating average.

If you don’t want to use Stripe, then you can also use PayPal to accept credit card payments using the WPForms PayPal addon.

However a simple payment form isn’t a perfect solution for everyone. Based on use-case, you may need a different solution for accepting credit card payments on your website. Here are some other ways to accept credit card payments in WordPress.

Accepting Credit Card Payments in an Online Store

If you want to add a shopping cart and sell multiple items, then you will need an eCommerce plugin like: WooCommerce. It is the best WordPress eCommerce plugin on the market. WooCommerce makes it easy to sell things online and accept credit card payments.

WooCommerce payment settings

For complete step by step instructions, see our guide on how to start an online store for beginners.

Accept Credit Card Payments on a Membership Website

If you want to build a membership website to sell membership subscriptions and paid content, then we recommend using MemberPress. It is the most powerful WordPress membership plugin that easily integrates with Stripe, PayPal, or Authorize.net to accept credit card payments on your website.

MemberPress payments

Here is a complete guide on how to create a membership website with step by step instructions.

Accept Payments by Selling Online Courses

If you want to sell online courses, then we recommend using LearnDash. It is the best LMS plugin for WordPress and allows you to process credit card payments on your website.

LearnDash Stripe settings

For details, see our guide on how to how to sell online courses with WordPress with step by step instructions.

We hope this article helped you learn how to accept and process credit card payments in WordPress. You may also want to see our list of the must have WordPress plugins for business websites.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Easily Accept Credit Card Payments on Your WordPress Site appeared first on WPBeginner.

WordPress 4.9.6 Beta 1 Adds Tools for GDPR Compliance

WordPress 4.9.6 Beta 1 is available for testing. It’s the first step in bringing GDPR (Global Data Protection Regulation) tools to WordPress. In addition to 10 bugs being fixed, this release heavily focuses on privacy enhancements.

One of the first changes is the addition of a Privacy tab on the successful update screen. The message informs users that their sites may send data to WordPress.org for plugin and theme updates with a link to the WordPress.org privacy policy.

WordPress 4.9.6 Privacy Information

Privacy Policy Page Creation and Template

WordPress 4.9.6 includes the ability to create a Privacy Policy page from the backend. Simply browse to Settings > Privacy and select an existing page or create a new one where the policy will be displayed.

Privacy Policy Page Settings

Privacy policy pages will likely become as ubiquitous as About Us pages thanks to the GDPR, but the information that’s displayed is unique to individual sites. WordPress helps out by providing a template with suggestions on what information to display.

Privacy Policy Template

Personal Data Export and Removal Tools

To comply with the GDPR, sites need to provide a way for users to obtain their personal data and request that it be removed. WordPress 4.9.6 does not give users a button to make these requests. Instead, a site’s privacy policy needs to  include information on where to send such requests.

Once a request for a data export or removal is received, site administrators or the Data Protection Officer can browse to Tools > Export Personal Data or Tools > Remove Personal Data and send that user a verification request.

Export Personal Data Verification UI
Data Removal Request Verification UI

When an admin enters a username or email address into the send request field, they’ll receive an email with a confirmation link. Once clicked, the site will display an Action Confirmed notice and that the site administrator has been notified and will fulfill the request as soon as possible.

Here’s what a confirmed notice looks like in the backend.

Confirmed Data Export Request

One thing I noticed is that after a user confirms the request, the site administrator has no way of knowing that they confirmed unless they visit the Data Export or Removal page.

Perhaps a new notification bubble can be created, similar to pending comments and updates that takes admins to the appropriate place for confirmed requests.

When WordPress finishes creating the zip file, a link is sent to the user. For security purposes, the file will automatically be deleted after 72 hours.

My Personal Data Export

To test this feature, I exported my personal data from WP Tavern. My data export arrived in a zip file as one Index.html file. This file contains my comments, user meta data, links to attachments, and more. The data provides me with an opportunity to see what data the site has and what would be deleted if I requested full data removal.

Commenter Cookie Notification and Opt-in

Cookies save data so that visitors don’t have to fill in the Author, URL, and Email fields each time they want to leave a comment. In 4.9.6, visitors will be informed of this data storage and will need to check mark a box to opt-in.

Checkbox For Consenting to Data Storage

WordPress 4.9.6 isn’t your typical minor release. It introduces new UI, options, and a bunch of privacy related enhancements. The development team is aiming to officially release 4.9.6 before GDPR goes into effect later this month, but these features need battle tested now, especially on multi-site configurations.

I encourage you to check out 4.9.6 on a staging site and go through the process of requesting, confirming, and obtaining user data. Now is a good time to experience what users will be going through.

You can download WordPress 4.9.6 beta 1 here or obtain it by using the WordPress Beta Tester plugin. If you encounter any issues, please report them on the Alpha/Beta section of the support forums.

How to Let Contributors Edit Their WordPress Posts After Being Approved

Recently one of our readers asked if it was possible to allow contributors to edit their approved posts? WordPress user roles allow you to set different permissions for each user on your site. By default, a WordPress user with a contributor role can’t modify their published posts. In this article, we will show you how to let contributors edit their posts after being approved.

Let Contributors Edit Their Posts After Being Approved

Let Contributors Edit Their Posts After Being Approved

Contributors or guest authors with contributor user role write posts and send them to review in WordPress. A user with the administrator or editor user role can review and publish it. Once published, the contributors are unable to edit their own posts. This is a generalized hierarchy in WordPress that distribute user role and status.

However, you can add or remove capabilities to user roles in WordPress. Let’s take a look at how to let contributors edit their published posts.

Method 1: Allow Contributors to Edit Their Posts (Plugin)

This method is easier and recommended for most users. This method also allows you to edit other user roles and permissions right away.

First thing you need to do is install and activate the Capability Manager Enhanced plugin. For more details, see our step by step guide on how to install a plugin in WordPress.

Upon activation, you need to visit Users » Capabilities in your WordPress admin area to edit capabilities of contributor user role.

User Capabilities

On this page, you need to select Contributor role on the right side, so you can change their permission level.

Select Contributor Role

Once selected, you’ll see a lot of options in this section. In the Editing Capabilities area, you need to select Edit Published option and scroll to the bottom to click on Save Changes button.

Select Edit Published

After that you can test the permissions by switching to a contributor role in WordPress and going to the Posts page. You will now see the option to edit published posts. Hint: you can instantly switch between user accounts while testing roles and permissions in WordPress.

Edit Approved Posts

Method 2: Manually Allowing Contributor to Edit Their Posts

This method requires you to add code to your WordPress files. If you haven’t done this before, then please take a look at our guide on how to copy and paste code in WordPress.

You’ll need to add the following code to your WordPress theme’s functions.php file or site-specific plugin.

// get the "contributor" role object
$obj_existing_role = get_role( 'contributor' );

// add the "Edit published posts" capability
$obj_existing_role->add_cap( 'edit_published_posts' );

This code snippet needs to run only once which means you can save it and then delete it. It will allow contributors to edit their published posts in WordPress.

Even though we have shown you how to allow contributors to edit their published posts, we believe it is not a good practice to let contributors or authors edit their published content.

If there’s a need for any change or correction in the content, then the writer should ask an administrator or editor to update it. This allows you to maintain editorial integrity.

Before publishing a post, an editor checks multiple necessary elements like keywords, images, meta description, URL, and more. These things are important to get better rankings in search results. A user with a contributor user role may not be fully aware of your editorial best practices and can make mistakes that would go unnoticed if not reviewed by an editor or administrator.

One way to deal with this is by sharing a blog post checklist with your contributors and authors. This checklist will help them cover all the tasks before submitting a post to review. It will also help an editor to quickly review a post.

We hope this article helped you learn how to let contributors edit their posts after being approved. You may also want to see our guide on how to allow users to submit posts in WordPress without even accessing the WordPress admin area.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Let Contributors Edit Their WordPress Posts After Being Approved appeared first on WPBeginner.

Better Search v2.2.0

I have released Better Search v2.2.0 which brings a new settings interface based on the Settings API. You can read the complete details of the release on the WebberZone blog.

Better Search v2.2 Settings API
Better Search v2.2 Settings API

Detailed changelog in Better Search v2.2.0

  • Features:
    • New option to exclude password protected posts from the results
    • New option to exclude post/page or custom post type IDs from the results
  • Enhancements:
    • Admin interface now uses the Settings API – Please double check your settings. You can delete the old settings using the Tools sub-menu
    • New shortcode bsearch_form to display the Better Search custom search form
    • Use template_include instead of template_redirect
    • Seamless mode now uses Better Search queries directly instead of passing post IDs
  • Deprecated:
    • $bsearch_url, bsearch_default_options(), bsearch_read_options(), bsearch_clause_prepare()

Download Better Search

The post Better Search v2.2.0 appeared first on Ajay on the Road called Life.

Better Search v2.2.0 was first posted on May 5, 2018 at 8:00 pm.
©2003-2018 "Ajay on the Road called Life". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement. Please contact me at https://ajaydsouza.com/contact/

Monthly conference update: Where were we in April?

Again it was a month packed with great conferences we were lucky enough to attend. Some Yoasters – of course – went to WordCamps like Torino, London and Vienna. In addition to that, others went to Playgrounds blend, React and TYPO3 UX. To top it off, I was given the opportunity to do a digital detox in Iceland. All of those events are worth mentioning, but it’ll take too long to discuss all of them in here, so here’s a selection. Read about the Yoast adventures on WordCamp Torino, Playgrounds Blend and my personal digital detox! 

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO: the #1 WordPress SEO plugin


WordCamp Torino (April 6-7)

Beginning of April our Community superhero Karin went to Turin in Italy to mingle with the hospitable Italian WordPress community. There she also met with our accessibility expert Andrea. Apart from having a great time with the friendly Italians and eating delicious pizza and ice cream, she particularly enjoyed the talk of Carole Olinger, who told about her journey in the WordPress Community so far. Karin could really relate to this:

By the way, if you want to hear Karin’s story, about her journey in the WordPress community check out this video.

She was also really curious to see Alessia Pizzi talk about our own Yoast SEO plugin:

One of the lightning talks during the morning session was about the Yoast plugin. In Italian. I thought I would go there, just to see if I could understand what Alessia Pizzi, was talking about.

Well, I didn’t!

But the room was jam-packed with people, and she loved to see Alessia talk so  passionately about our plugin. All in all she had a blast in Torino and hopes to be back some day. 

Playgrounds Blend (April 13)

Playgrounds is an annual conference where the most talented and innovative creative professionals in animation, game & interactive design, robotics and creative technology come to show and tell about their work. Erwin, Tim and Luc, representing the creatives at Yoast went there to “get their creative juices flowing” as Luc eloquently put it. Here are some of the takeaways:

Studio Moniker presented us with their system of ‘conditional design’. Instead of designing towards a finished product, they only produce the concept and ground rules of a design. They then enable the public to participate in the design process which leads to very random and unique designs. We saw some cool examples of this form of open source design. It was funny to see there are always people who try to bend, break or ignore the rules of a project.

example of a post cardMr Bingo’s presentation was fast, funny and relentless. His story about how he got to send insulting postcards to people all over the world, after one drunken tweet, was the funniest thing we heard that day.

Until he told the story how he decided to produce a rap to introduce his Kickstarter that is:

The most interesting talk of the conference, according to Erwin, was the one from David OReilly. He made one of the most bonkers animations he’s ever seen, so he was very intrigued by what he had to say.

Oreilly builds digital worlds but from a different standpoint than most others. Instead of trying to simulate the physical world in a 3d environment he lets the limitations of the programs he works with determine the look of the worlds he creates. As long as the used design aesthetic is coherent, the brain of the viewer will accept the design as equivalent to the real world. In other words: if you give the world you design the same overall look or style, your public will believe a clownfish can talk. Or that a man can fly and shoot laser-beams from his eyes.

He then showed his most recent projects that incorporate these ideas; a game about a floating tree, that’s somehow very popular in China, and the game Everything. In this last game, the player can play as any element that is present in the game. From the tiniest microbe, to trees, guitars, clouds, islands, planets and even galaxies. With every change of “character” the view of the world and how you experience it changes too. Making you think about how your position in the world determines how you think about the world. This way everything becomes equally important and unimportant at the same time.

Just take a look at this launch trailer how overwhelming this idea is:

Digital detox in Iceland

The last “conference” I’ll highlight is the digital detox I went to. On April 18, I stepped on a plane to Iceland, without really knowing what was ahead of me. I signed up for a ‘digital detox’ organized by GeekAdventures.org. Mendel Kurland, the head geek, promised a couple of days hiking in Iceland with awesome people in the tech industry.

The first evening, even before the event had officially started, I met up with Hari to explore Reykjavik. We walked for over two hours through the different parts of the city. With Google Maps on our phones not to get lost (hey, our detox hadn’t started yet!), we eventually found our way to another group of adventurous geeks. After drinks and a good meal, it was time to head back to our hotels and prep for the next morning.

Do you know that awkward silence when you first meet a group of new people? Well, we didn’t have much of that. After 4 hours on a 4×4 bus, visiting a stunningly beautiful waterfall and staring at a glacier together, we only needed lunch, a quick intro-game and a bit of ‘free time’ to open up.

digital detox in Iceland

There are so many stories to tell from just four days with this bunch of new-found friends, and I’ll happily share all of them over drinks, but in this recap want to focus on what touched me the most.

Thanks to Yoast, I’m used to going to conferences, hanging out with people from all over the world and having good conversations about work. At those events, I’m Taco from Yoast, all day long. This event was different. Because of the small group and because we all came with the ‘digital detox’ mindset, it was really personal. No-one had to be “[name] from [insert company]”. We could all be ourselves. Even when discussing Yoast SEO, Beaver Builder or Ninja forms, we were friends talking. And that was amazing!

If you ever have a chance to visit Iceland, you should. It’s wonderful, beautiful and magical. But if you ever have the chance to go on a digital detox, you’d be a fool to miss out!

The post Monthly conference update: Where were we in April? appeared first on Yoast.

How to Fix the WordPress Failed to Open Stream Error

Are you seeing the ‘failed to open stream’ error in WordPress? This error usually points out the location of the scripts where the error has occurred. However, it is quite difficult for beginner users to understand it. In this article, we will show you how to easily fix the WordPress failed to open stream error.

Failed to open stream error in WordPress

Why Failed to Open Stream Error Occurs?

Before we try to fix the error, it would be helpful to understand what causes the ‘Failed to open stream’ error in WordPress.

This error occurs when WordPress is unable to load the file mentioned in website code. When this error occurs, sometimes WordPress will continue loading the site and only show a warning message, while other times WordPress will show a fatal error and will not load anything else.

The message phrasing will be different depending on where the error occurs in the code and the reason for failure. It will also give you clues about what needs to be fixed.

Typically, this message would look something like this:

Warning: require(/home/website/wp-includes/load.php): failed to open stream: No such file or directory in /home/website/wp-settings.php on line 19 

Fatal error: require(): Failed opening required ‘/home/website/wp-includes/load.php’ (include_path=’.:/usr/share/php/:/usr/share/php5/’) in /home/website/wp-settings.php on line 19

Here is another example:

Last Error: 2018-04-04 14:52:13: (2) HTTP Error: Unable to connect: ‘fopen(compress.zlib://https://www.googleapis.com/analytics/v3/management/accounts/~all/webproperties/~all/profiles?start-index=1): failed to open stream: operation failed’

Having said that, let’s take a look at how to troubleshoot and fix ‘failed to open stream’ error in WordPress.

Fixing Failed to Open Stream Error in WordPress

As we mentioned earlier, the error can be caused by a variety of reasons and the error message will be different depending on the cause and location of the file that’s causing the error.

In each instance, failed to open stream phrase would be followed by a reason. For example, permission denied, no such file or directory, operation failed, and more.

Now if your error message contains ‘no such file or directory’, then you need to look in the code to figure out which file is mentioned at that particular line.

If it is a plugin or theme file, then this means that the plugin or theme files were either deleted or not installed correctly. Simply deactivate and reinstall the theme / plugin in question to fix the error.

However, it is also possible that WordPress is unable to locate the files because of a missing .htaccess file in your root folder. In that case, you need to go to Settings » Permalinks page in your WordPress admin and just click on the ‘Save changes’ button to regenerate the .htaccess file.

Regenerate htaccess file in WordPress

If the error message is followed by ‘Permission denied’, then this means that WordPress does not have the right permission to access the file or directory referenced in the code.

To fix this, you need to check WordPress files and directory permissions and correct them if needed.

Lastly, some WordPress plugins load scripts from third-party sources like Google Analytics, Facebook APIs, Google Maps, and other third-party APIs.

Some of these APIs may require authentication or may have changed the way developers can access them. A failure to authenticate or incorrect access method will result in WordPress failing to open the required files.

To fix this, you will need to contact the plugin author for support. They will be able to help you fix the error.

If none of these tips help you resolve the issue, then follow the steps mentioned in our WordPress troubleshooting guide. This step by step guide will help you pinpoint the issue, so you can easily find the solution.

We hope this article helped you fix the WordPress ‘failed to open stream’ error. You may also want to bookmark our list of the most common WordPress errors and how to fix them.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Fix the WordPress Failed to Open Stream Error appeared first on WPBeginner.

Yoast SEO 7.4: Enhanced image support

Please welcome to the stage: Yoast SEO 7.4! In this release, we’ve squashed a number of bugs and focused on enhancing the way Yoast SEO works with Open Graph images. We also made some other enhancements that improve the way the plugin functions. Happy updating! 

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO: the #1 WordPress SEO plugin Info

Improved handling of images

Images are very important for several reasons: not only do your readers love to see them while reading your post, but they are indispensable if you want to do well in image search — which is becoming more important by the day. Image SEO, therefore, is a thing. There’s another reason images are important: social images can attract a great deal of traffic to your site or social media profile. Luckily, Yoast SEO can help you up your social image game.

For some years, you have been able to preview how your social posts will look when shared with Yoast SEO Premium. Most social media platforms use the OpenGraph protocol to determine what should be shown and how. In Yoast SEO 7.4, we’ve made some improvements to how the plugin handles OpenGraph images. For starters, we now add Open Graph image dimension-meta tags to more images. We also exclude images in Open Graph meta tags that are larger than 2MB as we want to keep everything running smoothly. Yoast SEO can now also append the image alt tag to the OpenGraph output, using the meta tag og:image:alt. Last but not least, we’ve added caching for images in posts to reduce load time. We’re diving deeper into how different platforms use OpenGraph to handle images and we’re hoping to do more with images in the future.

If you want to really dive into this and learn more about the choices we made and why we made them you should definitely read this long read on Open Graph tags by Jono!

Dropping support for PHP 5.2

In Yoast SEO 7.3, we’re now showing a message warning you about dropping support for the ancient PHP 5.2 in an upcoming version. As you might know, anything before PHP 7.0 is quickly running towards end-of-life. There are, however, still a lot of people and hosting companies that use ancient software to power their servers. Please upgrade your servers if possible! Here’s how Joost put it some time ago:

“The why is three-pronged: security, speed, and future-proofing. PHP 5.2 hasn’t been updated for years and has serious issues. PHP 7 is lightning fast, up to 400% faster than 5.2. You might even regard this as a green move; you can use 50% fewer servers to get the same results from PHP 7. Last but not least, developers can finally use all the modern technologies to bring WordPress to the next level.”

Other improvements and fixes

To more rigorously determine if posts and pages are viewable and accessible, we’ve added the is_post_type_viewable WordPress function to improve support for the wpseo_accessible_post_types filters. Among other things, we’ve fixed some bugs that kept some database tables from being removed when you deleted a sub-site from a multisite environment. To cap it off, we’ve fixed a bug where deleting multiple posts could cause performance issues. Thanks to Abolfazl Moeini for finding and fixing that.

Please update

As always, our advice is to update to the newest release of Yoast SEO so you can get the latest and greatest. In Yoast SEO 7.4, we’ve improved how we handle OpenGraph images and added several other enhancements that make the plugin better. Thanks for using Yoast SEO!

Read more: ‘Why every website needs Yoast SEO’ »

The post Yoast SEO 7.4: Enhanced image support appeared first on Yoast.

How to Convert WooCommerce Visitors into Customers

Do you want to convert WooCommerce visitors into customers? Bringing traffic to your WooCommerce store is only half the battle, the other half is to convert those visitors into paying customers. In this article, we will show you how to easily convert WooCommerce visitors into customers like a pro.

Converting WooCommerce visitors into customers

Why I Need to Conversion Optimization for My WooCommerce Store

Most eCommerce stores rely on search engines or paid advertising campaigns for traffic. There are many other ways to get more traffic to your website.

However, more than 75% visitors who find your website through search engines will never find it again. Those who stick around, only a small percentage of them will add products to the cart.

In the end, more than 69% shopping carts are abandoned without making the purchase. Shipping costs, complicated checkout experience, and bad design are among the top reasons for abandoned carts.

Now, considering these statistics, your eCommerce website will continue losing potential customers if you don’t work on converting those visitors into customers.

How do I Convert Visitors into Customers?

The process and technique that are used to convert visitors into customers is called conversion rate optimization (CRO). Marketers and usability experts use CRO to successfully drive visitors to become a customer or a potential customer.

Basically, you remove obstacles that affect a user’s experience on your website. You also incentivize users to make a purchasing decision.

Lastly if a user must leave without making a purchase, then your goal is to try and get their information through lead generation. This allows you to communicate with them via email and offer personalized messages, special discounts, or new product announcements.

In early days of eCommerce, you would have needed programming skills to work on all these but not anymore. Now you have tools that make it extremely easy to do all these things without writing code or acquiring any new technical skills.

That being said let’s take a look at how to convert WooCommerce visitors into customers.

What You Need to Boost WooCommerce Conversions

First, you will need a WooCommerce store. If you don’t already have one, see our guide on how to create an online store.

This tutorial is about WooCommerce, so we will be using it in our screenshots. However, all these techniques would also work on any other eCommerce platform including Shopify.

We will be using the OptinMonster tool. It is the best conversion optimization software on the market and helps you easily convert WooCommerce visitors into customers.

OptinMonster is a paid service, and you will need at least their Pro plan to access all the features mentioned later in this article.

Ready? let’s begin.

Disclosure: We believe in full transparency. WPBeginner founder, Syed Balkhi, is also the co-founder of OptinMonster. We only recommend tools that we personally use and believe will add value to our readers.

Installing and Setting up OptinMonster

After you have purchased OptinMonster, you will need to install the OptinMonster plugin. For more details, see our step by step guide on how to install a WordPress plugin.

This plugin is just a connector between your WooCommerce store and OptinMonster.

Upon activation, you need to click on the OptinMonster menu item in your WordPress admin sidebar. You will be asked to enter your license key. You can find this information under your account on OptinMonster website.

OptinMonster API Key

You have now successfully connected your WooCommerce store to OptinMonster, and you can now start optimizing your conversion rates.

Creating Your First WooCommerce Conversion Optimization Campaign

Let’s create your first WooCommerce conversion optimization campaign using OptinMonster. Our first campaign will reduce shopping cart abandonment rate while increasing conversions at the same time.

Visit the OptinMonster page in WordPress admin area and then click on ‘Create New Campaign’ button.

Create new campaign button

This will take you to the OptinMonster website where you will be asked to select a campaign type and a campaign template. For this tutorial, you need to select lightbox as your campaign type. We will be using the ‘Coupon’ template in this tutorial, but you can use any template that you like.

Creating new OptinMonster campaign

As soon as you select a template, you will be asked to provide a name for your campaign and enter the website address where you will be using it.

Campaign name and URL

After entering this information, click on the ‘Start Building’ button to continue.

This will launch the OptinMonster builder interface with a live preview of your popup. You can simply point and click on any item to edit it.

Building your optin campaign

As you can see we are using a popup that collects user’s email address. You can connect OptinMonster to your favorite email service provider by clicking on the integrations tab.

Connect to your email service provider

From here you can add a new integration to connect with your email service by following the on-screen prompts.

Next, you need to choose which users will see the popup and when.

Click on the ‘Display Rules’ tab from the left menu, and OptinMonster will show you a list of default display rulesets that you can use.

First, click on the ‘Exit Intent’ ruleset to expand it, and then make sure it is active. Exit-Intent basically detects user’s behavior and prompt them with a message at the precise moment they’re about to leave.

Turn on exit intent

When a visitor adds a product to the cart, WooCommerce automatically sets a cookie ‘woocommerce_items_in_cart’ in their browser with the number of items in their cart.

We only want to show our popup to users who have products in their cart. To do that, scroll down a little and then click on ‘Select visitors with a specific cookie’ ruleset to expand it.

This ruleset allows you to trigger a campaign when a specific cookie is found. From here you need to switch the status toggle to ‘Active’.

WooCommerce cookie tracking in OM

First, option in this ruleset is to show when a cookie name is matched. After that, click on ‘Add a condition’ button and select ‘Cookie value’ does not exactly match 0.

Lastly, click on the save button at the top right corner of the screen to save your changes and then click on the publish button next to it.

Save campaign

Your campaign is now ready to be served on your WooCommerce store. You just need to click on the ‘OptinMonster’ tab in your WordPress admin area and then click on ‘Campaigns’ tab.

You will see the campaign you just created listed there. If you don’t see your campaign, then click on the ‘Refresh campaigns’ button.

Live Campaign

Next, you need to click on the ‘Go Live’ link below your campaign.

That’s all your lightbox popup is live now. To test it out, you will need to open a new browser window in the incognito mode and visit your store. Simply add a few products to your cart and then try to leave.

Abandoned cart campaign preview

Congratulations! you have just set up your first conversion optimization campaign targeting users who are about to abandon their cart and leave without purchasing.

Other Campaign Ideas to Boost WooCommerce Conversions

OptinMonster is a powerful tool with tons of different campaign styles that you can use with a wide range of display rules. This allows you to target customers with highly effective messaging at the perfect time.

Here are some more campaign ideas that can help you boost WooCommerce conversions.

Using Multiple Campaign Types

OptinMonster comes with several campaign styles including lightbox popups, slide-in scroll box, floating bar, countdown timer, sidebar forms, in-line forms, and more.

Campaign types

You can maximize your WooCommerce conversion rates by using multiple campaign types. For example, you can target users leaving your website with an Exit-Intent ® popup while showing other campaigns throughout your store.

Page Level Targeting

OptinMonster allows you to display your campaigns on any page on your website. This page can be a product, product category, a blog post, homepage, or a landing page.

Simply go to OptinMonster page in your WordPress admin area and click on the ‘Edit output settings’ link below your campaign.

Output settings

This will show you a variety of page level targeting options that you can use. It also includes WooCommerce specific targeting options.

Targeting options

Apart from these options, you also have display rulesets in the OptinMonster app which provide even more page level targeting options.

Peronalization and Behavioral Targeting

Personalization helps you improve user experience by making it more personal for each user. Behavioral targetting allows you to target your campaigns based on customer behavior.

For example, you can greet logged in customers with their name, show them products based on their browsing history, offer them discount or coupon.

OptinMonster behavioral targeting

Edit your campaign in the OptinMonster app and click on the ‘Display Rules’ tab. Scroll down to the ‘Who should see the campaign’ section, and you will find a treasure of targeting options.

Click on any of these options to expand them. From here you can activate the ruleset and set it up.

Behavioral targeting options

Using FOMO to Increase WooCommerce Conversions

FOMO or ‘fear of missing out’ is a psychological term used to describe anxiety about missing out on something exciting and trendy.

As an eCommerce store owner, you can take advantage of this human behavior with your marketing strategy and improve your conversions.

Using FOMO in WooCommerce

OptinMonster comes with the countdown timer templates, floating bars, and coupon themes that you can use to build up FOMO in your marketing campaigns.

Combine it with behavioral targeting and customization to make your campaigns even more effective.

For more on this topic, see our article on how to use FOMO on your WordPress site to increase conversions or see these clever FOMO marketing examples from across the web.

We hope this article helped you learn how to convert WooCommerce visitors into customers. You may also want to see our guide on how to enable customer tracking in WooCommerce with Google Analytics.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Convert WooCommerce Visitors into Customers appeared first on WPBeginner.

How to Add Custom Post Status for Blog Posts in WordPress

Do you want to add a custom post status for your blog posts in WordPress? Post status is an editorial tool that allows you to organize your articles based on their respective stages during the editorial workflow. In this article, we will show you how to easily add custom post status to blog posts in WordPress.

How to add custom post status in WordPress

What is Post Status in WordPress and Why Do You Need it?

Post status is an editorial tool that tells WordPress the stage of a blog post during editing. For example, posts that are incomplete are saved with the post status labeled ‘Draft’. When you publish an article, the status changes to ‘Published’.

Post status

Post status helps WordPress choose how to handle and display blog posts on your website. For example, it will automatically exclude posts labeled draft from your homepage and other publicly viewable areas of your website.

By default, WordPress comes with the following post status that you can use:

  • Draft – An item that is saved but incomplete and not yet published
  • Auto draft – WordPress has an auto-save feature that automatically saves a draft as revision.
  • Pending review – Items that are complete and submitted for review but not yet published.
  • Future – Posts scheduled to be published later.
  • Private – Items marked as private
  • Trash – Items that are trashed
  • Inherit – Child pages that automatically inherit status of their parent page.

Apart from these default post statuses, you can also create your own custom post statuses to improve your editorial workflow. For example, you can add a label ‘Not suitable’ for posts that are complete but not suitable for publication.

Having said that, let’s take a look at how to easily create custom post statuses in WordPress.

Method 1. Create Custom Post Status Using a Plugin

This method is easier and recommended for most users. It allows you to create custom post statuses as well as efficiently manage editorial workflow on your multi-author WordPress blog.

The first thing you need to do is install and activate the Edit Flow plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, the plugin will add a new menu item labeled ‘Edit Flow’ to your WordPress admin menu. Clicking on it will take you to the plugin’s settings page.

Edit statuses

Edit Flow comes with a lot of useful features, and you can turn them On/Off from this screen. Go ahead and click on the ‘Edit Statuses’ button under ‘Custom Statuses’ box to continue.

Edit Flow automatically creates the following custom post statuses:

  • Pitch – Used to pitch new article ideas and this status also becomes the default post status of every new post.
  • Assigned – You can select an author and mark an article as assigned so that the author can work on it.
  • In progress – Writer is working on the post but is not yet available as a readable draft.

Add new status

You can create your own custom status by providing a name and description in the left column. Once you are done, click on the ‘Add new status’ button to save your changes.

Your custom status will now appear in the right-hand column, so you can edit or delete it at any time.

Edit status

Next, you need to go to Posts » Add New page to create a new post. On the post edit screen, click on the ‘Edit’ link next to status option under the ‘Publish’ meta box.

Select post status

This will reveal a drop-down menu showing all post statuses that you can select including the custom post status you just created.

You can also see all articles filed under different post statuses by visiting Posts » All Posts page.

Sort posts by status

Method 2. Create Custom Post Status Using Code

WordPress has a known bug in the API used to register custom post statuses. It allows you to create custom post status, but you cannot use it in the admin panel. This means that the coding method can get the job done, but it is not as clean, and you will need to change it after it is officially fixed.

However if you still want to do it manually, then you can continue reading.

This method requires you to add code to your WordPress site. If you haven’t done this before, then take a look at our guide on how to copy and paste code in WordPress.

First, you need to add the following code to your theme’s functions.php file or a site-specific plugin.

// Registering custom post status
function wpb_custom_post_status(){
	register_post_status('rejected', array(
		'label'                     => _x( 'Rejected', 'post' ),
		'public'                    => false,
		'exclude_from_search'       => false,
		'show_in_admin_all_list'    => true,
		'show_in_admin_status_list' => true,
		'label_count'               => _n_noop( 'Rejected <span class="count">(%s)</span>', 'Rejected <span class="count">(%s)</span>' ),
	) );
add_action( 'init', 'wpb_custom_post_status' );

// Using jQuery to add it to post status dropdown
add_action('admin_footer-post.php', 'wpb_append_post_status_list');
function wpb_append_post_status_list(){
global $post;
$complete = '';
$label = '';
if($post->post_type == 'post'){
if($post->post_status == 'rejected'){
$complete = ' selected="selected"';
$label = '<span id="post-status-display"> Rejected</span>';
echo '
$("select#post_status").append("<option value="rejected" '.$complete.'>Rejected</option>");
$(".misc-pub-section label").append("'.$label.'");

Don’t forget to replace all instances of the word rejected with your own custom post status.

This code registers a custom post status and after that, it uses jQuery to add it to the admin panel. You can now edit a WordPress post, and you will be able to see it in the status drop-down menu.

Custom post status shown in admin panel

We hope this article helped you add custom post status to blog posts in WordPress. You may also want to see our list of 55+ most wanted WordPress tips, tricks, and hacks.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Add Custom Post Status for Blog Posts in WordPress appeared first on WPBeginner.

How to Fix Add Media Button Not Working in WordPress

Recently one of our users reported that the ‘Add Media’ button on their WordPress site has suddenly stopped working. This problem does not display any error or warning which leaves users clueless about why their ‘Add Media’ button is not working. In this article, we will show you how to easily fix the ‘Add Media’ button not working issue in WordPress.

Fixing add media button not working in WordPress

What causes the WordPress ‘Add Media’ Button to Stop Working?

This problem is commonly caused by conflicting scripts or stylesheets loaded by WordPress plugins or themes installed on your site. The default behavior of WordPress is to load all required scripts and stylesheets by combining the requests.

This is usually done in the WordPress admin area to improve performance and speed.

The WordPress post editor uses JavaScript for all buttons on the screen including the add media button. A conflict can stop JavaScript from working which will disable the ‘Add Media’ button.

Add media button stopped working in WordPress

That being said, let’s take a look at how to troubleshoot and fix the ‘Add Media’ button not working in WordPress.

Fixing Add Media Button Not Working Issue in WordPress

The quick fix is to add the following code to your wp-config.php file. You can do this by editing wp-config.php file and adding this code just before the line that says ‘That’s all, stop editing! Happy blogging’.

define('CONCATENATE_SCRIPTS', false );

This code simply tells WordPress to load each script separately which helps avoiding a JavaScript conflict with buggy scripts and the core WordPress features.

After you have added the code, go ahead and the visit post edit screen to see if the add media button is working as expected.

Note: Adding this code is not a proper long-term solution because you still have a script that is causing the issue. An easier way to find the source of the problem is by using the inspect tool. It will show you console errors which can lead you to the source of the conflict.

If you want a long-term fix for this issue, then you need to perform the basic WordPress troubleshooting tips to figure out which plugin or theme may be causing the issue.

We strongly recommend that you do this on your staging site instead of a live site. Here’s a step by step guide on how to create a WordPress staging site. All the best WordPress hosting companies like Bluehost, SiteGround, WP Engine, and Liquid Web offer 1-click staging functionality.

On your staging site, you need to start by deactivating all your WordPress plugins and then check if it fixed the ‘Add Media’ button. If it does, then this means one of the plugins was causing the issue.

Deactivate all plugins

You can now activate the plugins one-by-one, and after activating a plugin check the ‘Add Media’ button. This will help you find out which plugin is causing the issue. After you find the culprit, you can replace it with another plugin or ask plugin author for help.

If deactivating plugins doesn’t solve the issue, then the next step is to temporarily switch to a default WordPress theme like Twenty Seventeen.

Switch to a default WordPress theme

If switching to the default theme fixes the issue for you, then this means your theme is causing the conflict. You can ask theme author for support or switch to a different WordPress theme.

Once you find the source of the problem on your staging site, then you can apply the fix on your live WordPress site.

We hope this article helped you learn how to fix add media button not working in WordPress. You may also want to see our list of the most common WordPress errors and how to fix them.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Fix Add Media Button Not Working in WordPress appeared first on WPBeginner.

How to Identify, Debug, and Improve Messed Up WordPress Code

Debugging and improving upon a messed up WordPress project is quite a challenge.

A common misconception in the WordPress world is that a website would work “just fine” by setting up a few WordPress plugins combined with a premium theme.

Sure – you can also set up a massive enterprise platform that consumes 8GB of RAM for the first load but it doesn’t make it efficient or the right choice for a successful project.

Building a website that is supposed to scale and grow with time by bundling a few dozen plugins in it is “doing it wrong”.

WordPress Plugins Are Generic

By design, both the majority of WordPress themes and plugins are generic. They aim for solving as many problems for a large suite of industries providing various options for each and every use case.

And that makes sense from a business standpoint, right?

At the end of the day, you end up with a cumbersome and messed up code base. Your product likely utilized just a small percentage of all classes and functions, options and settings provided by all of the plugins installed on your website.

A good example are sliders, galleries, visual builders and other complex engines. They usually support tons of options that could fit every need. But you end up using 1% of those options. The rest is technical debt that you need to deal with later on. Debugging 50,000 lines of code and refactoring your extensions while using a fraction of those is not an easy feat.

Not to mention security, of course.

The Revolution Slider Security Leak

100,000+ compromised WordPress websites

A couple years ago, Revolution Slider (one of the most popular slider plugins) had a major vulnerability affecting over 100,000 websites out there. It was embedded in a bunch of premium themes (over 1,000 ThemeForest themes) which were all affected at once.

After researching the compromised sites, Sucuri found that SoakSoak’s vehicle of attack is the critical security vulnerability that was discovered in the Slider Revolution plugin and made public in September. At that time, Envato identified more than 1,000 themes sold through its marketplace that were potentially affected by this particular vulnerability.

On top of that, plenty of websites have purchased the plugins separately.

A security leak in a single #WordPress plugin led to 100,000+ vulnerable websites. Pick your…
Click To Tweet

Even if a vendor releases a security fix soon, there are a few major considerations to keep into account:

  • Hackers still have an open vector letting them brute force over 100K websites before the official update.
  • Plenty of users won’t install their plugin right away.
  • Some website owners/freelancers may update the plugin which may result in a major regression on the website (forcing them to revert for the time being).
  • Website owners who have purchased a premium theme won’t receive an update right away. The theme authors should ship a new version sometime after the plugin has been updated, which may take weeks.
  • Some website owners have wrongfully customized the code of their code theme and can’t update as it will override their changes.

That’s what may lead to a ruined reputation and shameful downtime for a small business running a poorly integrated website.

Bloated WordPress Project Maintenance is a Nightmare

Maintaining a bloated and messed up codebase of over 100,000 lines of extra code ain’t easy – especially when it’s not your own code and you have to cater for all ongoing updates in time.

That’s a liability for customers and may impact the website in numerous ways, such as:

  • Complete downtime for the website.
  • A broken section or a set of pages on the site.
  • Broken logic that’s not trivial to intercept and debug (except for users, of course).
  • Messed up layout in certain places.

It’s really annoying when a certain component misbehaves and it may take you a while to notice that, let alone get it fixed. Especially when it happens due to a set of features that you’re not using at all (interfering with the life cycle of WordPress).

This makes the overall maintenance expensive, time-consuming, and resulting in poor user experience for the client.

Web Hosting Costs Go Up

The larger the active codebase (activated plugins, a heavy theme), the longer it takes for the website to load everything in time before rendering a result for the client.

That’s tricky at first, but it is not an apparent problem until your website starts generating a good volume of traffic.

Actually, that’s not a problem either if your website loads in 8–10 seconds and Google decides to penalize it for being slow and for the high bounce rates from customers leaving the site before it loads completely.

Either way, a heavy code base loading tons of scripts and styles and generating hundreds of database queries per user would eat up resources quickly, and won’t be able to sustain concurrent users browsing the site at the same time. This means higher hosting costs.

Debugging and Refactoring Can Save Hosting Costs

We’ve had a client generating just about 250,000 page views a month paying $1,500 a month for hosting. After working on refactoring improvements for a few months, we’ve migrated the site to an alternative plan that currently costs about $400/mo for the production environment (excluding the staging VPS and a few other service costs).

And one of our clients generating over 15,000,000 page views a month has been hosted with Pagely for less than $2K/mo even though they’re paying for a high availability managed platform with redundant storage, load balancers, failover servers and more. This could have been brought down to $1K/mo if it wasn’t for the safety nets.

Their previous hosting fee was $4,500. The hosting company wanted to upgrade them to the next plan at over $6,000 a month.

In the long run, a poorly coded platform may cost thousands of dollars a month in additional hosting expenses.

Poor User Experience

A slow website would not be something that potential customers would be happy to browse. Especially if it causes other regressions on mobile, messed up screens, misbehaving logic due to other plugins causing conflicts with one another.

A blocker that could easily be avoided with a properly built platform in the first place.

3rd Party Services Can Interfere

Let’s not forget about 3rd party service integrations within your WordPress website.

Modern websites rely on various SaaS solutions for their digital platforms:

  • A marketing automation software
  • CRM
  • Lead generation tools like Optin Monster
  • Landing page builders
  • Booking platforms
  • Related posts/news engines
  • External image resizing/compressing
  • A comprehensive header bidding ad management system

External services are usually integrated with one of the following ways:

  1. Hooked into the standard life cycle of rendering a WordPress page.
  2. Loading JavaScript for all visitors (or other assets such as images, CSS, fonts).

Needless to say, they are supposed to work fine with your theme, plugins, content, hosting environment, user control capabilities, and everything in-between.

They add up to the load time of the platform and may filter existing data, causing discrepancies with the standard load of the website.

No, you don’t have to avoid 3rd party services at all cost. But consider debugging at all times – as this is a separate entity within your web application.

There are two possible alternatives that would solve most of the incompatibility, security, and performance problems for a poorly coded WordPress website.

1. Build a Clean and Solid WordPress Platform

Considering that WordPress is fairly stable and works fine even for projects generating hundreds of millions of page views a month, using it as a foundation framework for starters makes sense. That is, if you’re utilizing most of its functionality (being a CMS at its core).

Everything else should be planned carefully and deliberately.

  1. If you’re using off-the-shelf plugins, make sure that they solve small problems without being a Swiss Army Knife. It doesn’t make sense to use something that solves 100 problems if you only face 1 or 2.
  2. Conduct a detailed code review. Test the plugin on a clean install. Benchmark. Debug it. Write down the number of HTTP requests in the front-end and key back-end pages. Track the number of database queries. Take a look at what’s stored in the database and whether it’s something acceptable.
  3. For example, some plugins store metadata by adding a dozen meta keys in the postmeta table. This is adding up quickly by publishing hundreds of posts.
  4. Others are serializing data. This is harder to edit, search, and filter through.
  5. Or create other database tables for solving that problem.

You should be familiar with the business case and what works in each scenario.

Normally, you’d go for a custom WordPress theme built from scratch or a base theme that doesn’t load numerous sliders or page builders. The cleaner and simpler it is, the better.

The rest of the business logic should be developed from scratch – solving the business problem in a performant manner.

2. Slowly Analyze, Debug, and Refactor the Codebase

Go over the existing platform and analyze all of the key areas that need a solid improvement:

  • Getting rid of plugins that are not really required and could be replaced with 20–50 lines of custom code
  • Identifying large plugins that can be replaced with a lightweight version
  • Replacing a heavy premium theme with a lighter starter theme
  • Identifying heavy plugins causing performance problems in all areas
  • Analyzing plugins that may conflict with each other

Once the initial analysis is done, write a brief development and deployment plan about solving each of those problems step by step. Causing regressions and missing certain areas is quite possible so this needs to be coordinated with the client as well.

Improving the platform gradually would let you focus on stability, performance, and security.

You can use GT Metrix or another performance scanner in order to identify key areas that need improvement – and take it from there.

Ideally, you can focus on preparing an automated testing framework including unit tests, automated UI tests (screenshot tools that can compare website pages across deployments) and other tools that could ensure that your website behaves as anticipated across updates.

In any case, installing a few random plugins is a recipe for disaster unless you plan the process properly and always put performance and stability as a high priority.

Action Plan for WordPress Website Owners

Plan your development cycle upfront.

Best-case scenario, start with a proper engine on top of a standard WordPress installation. Pick your plugin wisely and don’t go for a bloated and heavy WordPress theme.

Keep your 3rd party services to a minimum. That includes additional layers that you don’t understand well (a yet another random CDN provider or a web-application firewall).

If you can’t afford a decent solution at first, make a note on all compromises you make at first.

More importantly, remember this:

Updating a production platform with existing data and customers take significantly longer than…
Click To Tweet

You have to account for data migrations, updates in user experience, possible regressions in existing content, minor performance leaks that may add up and break a specific feature (or bring the whole website down).

Once you generate some decent traffic, hire a professional WordPress development agency for a code review gig or a WordPress retainer. Let professionals analyze your code base. Compare your initial notes with theirs and design an action plan for initial cleanup and ongoing technical debt payoff.

After all, your platform is capable of handling tons of traffic. But even simple mistakes may affect the entire WordPress system.

The post How to Identify, Debug, and Improve Messed Up WordPress Code appeared first on Mario Peshev.

Personal configuration review: Train your skills and get our feedback

Today we’re launching the Personal configuration review: an extra personal assignment you can add to the Yoast SEO for WordPress plugin training. You can now test if you’ve understood the subject matter of our training well and do an extra assignment – on your own site! When you’ve configured Yoast SEO on your site, we’ll check it for you and give you personal feedback. This assignment is only available in combination with our plugin training. Buy them together now for only $99!

Get The Yoast SEO Training + Configuration Review Now$99 (ex VAT) for training and assignment

What is it?

The Personal configuration review is an extension of the existing Yoast SEO for WordPress plugin training. In this new assignment we’ll take you by the hand and guide you through the settings of Yoast SEO, like the Search appearance section, the integration with Google Search Console and the Social tab. For instance, we’ll help you decide which content you should have indexed and which not. Get ready to apply the skills you’ve learned in the training!

You can only do this assignment when you buy the Yoast SEO for WordPress training. We recommend doing that because it will give you the opportunity to test your comprehension of the Yoast SEO plugin. And even better, you’ll know directly if Yoast SEO is configured optimally for your type of website.

How does it work?

Adding this extra assignment to your course is easy! Just follow these steps:

  1. Buy the course and the assignment together (the assignment is only available as an extension of the training).
  2. After you’ve finished the course you’ll get access to the Personal configuration review assignment.
  3. Get started and configure Yoast SEO on your own website with help of the assignment.
  4. Once you’re done inform us that you’ve finished it and grant us access to the backend of your WordPress Install via a guest account.
  5. We’ll check your configuration and we’ll provide personal feedback by email.
  6. If you’ve set it up well, you’ll get an additional certificate and badge.

Why this assignment?

At Yoast we want to deliver the best online SEO courses. We believe good training requires some personal attention. That’s why we’ll top up more courses with assignments that will be checked by members of our team in the future. Because nothing is more valuable than true customized feedback by SEO professionals!

Get The Yoast SEO Training + Configuration Review Now$99 (ex VAT) for training and assignment

The post Personal configuration review: Train your skills and get our feedback appeared first on Yoast.

How to Create Your Company Org Chart in WordPress

Do you want to display a beautiful organizational chart on your WordPress site? Org charts are helpful in showing the company hierarchy and introducing users to the team running the business. In this article, we will show you how to create a company org chart in WordPress.

How to Create an Org Chart in WordPress

What is an Organizational Chart and Why is it Important?

An organizational chart present a company’s hierarchical structure based on job title and responsibilities, from top management to the executives.

It helps improve your brand’s reputation by showing the human side of your business. At the same time, it also allows users to find who they should contact for various business opportunities, feedback, and suggestions.

Organizational Chart

That being said, let’s take a look at how to easily create and manage a company organization chart in WordPress.

Creating an Organization Chart in WordPress

First thing you need to do is install and activate the Easy Org Chart plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit Easy Org Chart » Add New from your WordPress admin area to create a new org chart.

Add New Chart

First, you need to provide a title for your chart. After that, your need to scroll down to the Build your Org Chart section to start adding team members.

In the first column, you will need to add details of your team members like their name, job title, profile picture, and contact information.

Next, you need to click on Add a person button to add another team member. Go ahead and repeat the process to add all team members that you want to show in your org chart.

Add New Member

You can drag and drop team members to the right or left in the WordPress admin area. You will also need to define the upper hierarchy and row number for each team member according to your company’s hierarchical structure.

Set Upper Hierarchy

After adding team members, you need to scroll down to advanced styling section. From here, you can configure how the chart should appear. You can choose the container size, corners, background color, box template, field styling, and more.

Chart Advanced Styling

Once you are done with styling, click on the Publish button to save your changes.

To display your org chart on your website, you need to visit the Easy Org Chart page in WordPress admin to copy the shortcode.

Copy Shortcode

You can now paste this shortcode in any WordPress post, page, or sidebar widget to display your organization chart.

Organizational Chart

It would be a good idea to add a contact form below your org chart in WordPress. We recommend using WPForms because it’s the best contact form plugin in the market. They also allow users to select recipients in WordPress contact form.

We hope this article helped you learn how to create a company org chart in WordPress. You may also want to see our guide on how to create a WordPress intranet for your organization while keeping it private and secure.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Create Your Company Org Chart in WordPress appeared first on WPBeginner.

WordPress Accessibility Team Is Seeking Contributors for Its Handbook Project

The WordPress Accessibility team is seeking contributors for its handbook project. It’s a collection of tips, resources, tools, and best practices. The goal is to educate users through summaries, articles, and reference materials.

The handbook was created after the accessibility team repeatedly noticed the same accessibility issues cropping up and not having a central place to send people to learn about them.

The team is looking for people to review articles, discover resources to add to the handbook, and suggest topics to cover. If you’re interested in contributing, please join the #accessibility-docs channel on Slack where you can ask questions and learn more about the project.

Also, consider following WPAccessibility on Twitter to keep tabs on team projects and links to resources.

New WordPress Plugin: Disable Gutenberg

For those still in the dark, WordPress 5.0 will bring HUGE changes to the post editor. Dubbed Gutenberg, the new WP post editor replaces the entire “classic” post editing screen. So as of WordPress 5.0 and beyond, the “Edit Post” screen will be completely replaced by a giant WYSIWYG content builder called “Gutenberg”. So much more is being replaced than just the content editor. The list of things that are replaced by Gutenberg include the RTE/Visual Editor, Plain Text Editor, Custom Fields, and much more.

That means if you are a plugin or theme developer, you may be looking at a LOT of new work required to support Gutenberg, especially if your themes and plugins make use of anything associated with the classic WP post editor (i.e., “Edit Post” screen). And you better know JavaScript. “Deeply”. Or you’re basically in for a battle royale extreme in the coming months. What’s the saying, plan for the worst, hope for the best?

New Plugin: Disable Gutenberg

To help the community with the transition into the Gutenberg (G7G) arena, I’ve written a plugin called Disable Gutenberg. It’s a simple plugin that’s super easy to use, and focused entirely on one thing: disable Gutenberg and restore the Classic Editor.

  • Disable Gutenberg completely (all post types)
  • Disable Gutenberg only on specific post types
  • Disable Gutenberg for specific user roles

So it’s flexible yet simple, and super easy to use. Check out the documentation for more details, and download Disable Gutenberg at the WP Codex.

With Disable Gutenberg, you control when the new editor is rolled out to your clients.

Disable Gutenberg Programmatically

If you are a WordPress developer wanting more information about how to disable Gutenberg via the WP API, check out my DigWP article, How to Disable Gutenberg: Complete Guide. Packed full of juicy infos :)


For more information, list of features, and FREE download, visit Disable Gutenberg at the WP Plugin Directory:

Disable Gutenberg »

How to Disable Gutenberg: Complete Guide

Gutenberg soon will be added to the WordPress core. This is great news for some, not so great for others. With 99.9999% (estimate) of all WordPress sites currently setup to work without Gutenberg, the massive changes barreling down the pike are going to affect literally millions of websites. And as swell as the whole "Gutenberg" experience may seem, the simple truth is that a vast majority of site owners will not be prepared when it finally hits. Nor will many small business have time or budget to test and update client sites to accommodate ol’ Gut’.


How to Blog Anonymously Using WordPress

Do you want to blog anonymously using WordPress? There are many users who want to start a blog but don’t what to put their real name on it. In this beginner’s guide, we will show you how to easily blog anonymously using WordPress while keeping your personal information safe.

How to anonymously blog using WordPress

Note: This guide is not for journalists or whistle-blowers doing high-risk work. They should use something like TOR or other tools. This is for an average blogger who wants to blog anonymously.

Anonymous Blogging Pros & Cons

There are many users who simply want to blog anonymously to express their opinions. Most of them want to remain anonymous because they fear it may affect how people see them in real lives. Some want to do it just to be more creative.

There are pros and cons to blogging anonymously, and it’s important that you understand them before you start blogging.

Pros of Anonymous Blogging using WordPress

  • Freedom to express your opinions without being judged
  • Protect your personal identity and information
  • Creative and artistic freedom

Cons of Anonymous Blogging Using WordPress

  • Not able to meet with people who follow your blog
  • Limited monetization options, you can still use Google AdSense, but you will have to share your personal information with Google.
  • If someone is really determined, then they can still trace your blog back to you.

That being said, let’s see how to blog anonymously using WordPress.

How to Start an Anonymous Blog using WordPress

There are two types of WordPress websites. First, there is WordPress.com which is a hosted blogging service, and then you have WordPress.org also known as self-hosted WordPress. For comparison, see our guide on the difference between WordPress.com vs WordPress.org.

There are other blogging platforms as well. However, we recommend using self-hosted WordPress.org to have complete control on the privacy and ownership of your website.

You will need a domain name and a website hosting account to start your self-hosted WordPress blog.

We recommend using Bluehost. They are one of the largest hosting companies in the world and an officially recommended WordPress hosting provider. They’re offering our users a free domain and 60% off their web hosting.

For details, see our article on how to start a WordPress blog with complete step by step instructions.

After you have installed WordPress, let’s make it anonymous.

Using Whois Privacy

When you purchase a domain name, you are required to provide contact information, like name, address, phone number, and email address. This information is publicly accessible and anyone can look up for it.

To protect customer’s privacy, many domain name providers offer a service called Whois privacy. For a small fee, this service displays their contact information instead of yours. If someone sends an email to the address displayed on WHOIS privacy page it will be forwarded to you.

You can purchase domain privacy during the set up on most hosting companies. For example, Bluehost provides you an option to do so during the sign up. We normally don’t recommend it due to the additional cost, but since you want to create an anonymous blog, you would want to check this option.

Domain privacy

If you didn’t purchase it during set up, then you can always enable it from your hosting account’s dashboard under the domains section.

Using a Blogging Email Address

Next step is to create a new email account to use for your WordPress website, and your author profile in WordPress. You can use a free email service provider like Gmail or use a more private email service like Proton Mail.

After you have created an email account, you need to add it as a WordPress administrative email address. This email address is used to send WordPress notification emails.

You can do this by going to Settings » General page in the WordPress admin area and add your new email address there.

Adding admin email address in WordPress

Don’t forget to click on the save changes button to store your settings.

Next, you need to add the same email address to your author profile page. Simply go to the Users » Your Profile page and add the email address under your contact info.

Change your author profile email address

Don’t forget to click on the Update Profile button to save your changes.

You can also use gravatar to display an anonymous profile picture next to your author bio under your blog posts.

Tip: If you are not receiving WordPress emails, then see our guide on how to fix WordPress not sending emails issue.

Using a Psuedonym for Anonymous Blogging

You will need to choose and use a pseudonym on your blog. For better WordPress security, you cannot just use admin as your username or author name. You will need to think of a different nickname that you can use to sign your posts.

To add your pseudonym, you need to visit Users » Your Profile page and add the name next to the Nickname field. After entering your nickname, click on the drop-down menu next to ‘Display name publicly as’ option and select your nickname.


It’s important that you don’t add your real first and last name in this user profile.

Don’t forget to click on the Update Profile button to save your changes.

Using a VPN

VPN is a Virtual Private Network that helps you secure your internet connection and protect your identity.

Normally, all your internet traffic travels through different servers spread across the world. Hackers and governments can spy on this traffic and see what you are doing online.

VPN acts as a network between your computer and outside world. All your internet traffic goes to a VPN service where it is encrypted and sent to the destination using a random server in a different geographic location.

How VPN works

Here is a list of the best VPN service providers. We recommend using IPVanish. They offer military grade encryption with hundreds of servers. They also have the easiest software to turn on VPN with the click of a button on any device including laptops, tablets, and mobile phones.

We hope this article helped you learn how to blog anonymously using WordPress. You may also want to see our ultimate step by step WordPress SEO guide for beginners.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Blog Anonymously Using WordPress appeared first on WPBeginner.

Yoast SEO 7.3: Import all the things

Two weeks ago, Yoast SEO 7.2 brought a solid update to the import features of the plugin. In Yoast SEO 7.3, we’ve expanded this improved importer with a slew of newly supported plugins you can import your data from. Find out which plugins we support in this post. But of course, there’s more!

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO: the #1 WordPress SEO plugin Info

Importing from even more WordPress SEO plugins

We have always made it easy for users of other WordPress SEO plugins to migrate their settings to Yoast SEO. The last couple of years, we offered support for all the big players: HeadSpace2, All in One SEO, JetPack SEO, WooThemes SEO Framework, wpSEO, SEO Ultimate and SEOpressor. Today, — in addition to improving import from wpSEO — we’re adding a long list of newly supported plugins from which you can import your data:

  • Premium SEO Pack
  • Smartcrawl SEO
  • Squirrly SEO
  • Platinum SEO Pack
  • SEO Framework
  • Greg’s High Performance SEO
  • WP Meta SEO

Yoast SEO Premium users can also import redirects from other redirection WordPress plugins. The redirects manager in Premium is a great tool that helps you to make and manage redirects.

Updated translations

Yoast SEO 7.3 isn’t just about importing stuff, because it’s about translations as well. We’ve updated the translations of almost all locales, plus we’ve added quite a few new locales to our premium plugins like Local SEO, WooCommerce SEO and News SEO. We strive that everyone on earth can use our SEO plugins in their native language and this is a big step in that direction. Of course, we couldn’t have done it without our awesome community! You’re welcome to help out if you don’t see your language yet or if you can think you can improve the current translation. Please visit translate.yoast.com and get started!

Fixes and enhancements

We have enhanced Yoast SEO in several ways. Among other things, we fixed a number of bugs that caused several filters to give unwanted results. One of the new enhancements is support for Baidu Webmaster Tools verification. You can now verify your site just like you do for Yandex, Bing and Google. Find out how to add your sitemap to these search engines.

Update now!

Yoast SEO 7.3 is a solid new update. We’ve fixed several issues, improved translations and added a ton of plugin support to the importer. You can now import settings from every major WordPress SEO plugin. This makes it easier for you to make the transition from other plugins to Yoast SEO. With that, I can only give you one last advice: please update!

Read more: ‘The beginner’s guide to Yoast SEO’ »

The post Yoast SEO 7.3: Import all the things appeared first on Yoast.