DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 963,864 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Yossi Abramov
Yossi Abramov

Posted on • Originally published at yossiabramov.com

Recommended WordPress Plugins

For the past year or so I’ve been working on some WordPress heavy projects. Personally, I don’t particularly enjoy the β€œfronty” aspects of WordPress and always prefer to leverage the WordPress API and use WordPress as the awesome content management system that it is.

The huge community of WordPress developers creates awesome tools and plugins all the time and it is impossible to follow and keep up with all the new WordPress stuff out there. So, in this post I just want to share a list of WordPress plugins that I use on a daily basis and have saved me a lot of coding time. These plugins have changed my WordPress workflow so much that I use most of them as must use plugins.

Duplicate Page

Duplicate Page will add a β€œduplicate this” option to your pages, posts and custom posts. It will duplicate your selected page/post as a draft with all the content of the original page you were duplicating. This is a huge time saver! After installation and activation, hover on a page/post like you would normally do and get this new shiny option:

duplicate this screenshot

πŸ‘‰ get the plugin here

Custom Post Type UI (CPT UI)

CPT UI gives you super-powers! Instead of painstakingly registering and defining custom post types in your functions.php or your_other_functions.php, CPT UI gives you a straight forward easy to use UI for creating custom post types. It will take you about 10 seconds to create your first post type - you literally need to fill only 3 required fields and you are good to go ✊. From there, you can easily integrate custom posts with the WordPress API and much more ✌.

πŸ‘‰ get the plugin here

Simple Custom Post Order

Let’s imagine the following scenario: you have a custom post type, say β€œBooks”. Each one of your posts is a β€œBook” post. Now, you want to loop through the books, but have a specific order in mind… With Simple Custom Post Order you can drag and drop your pages, posts and custom posts to reorder them regardless of the way WordPress orders them. This make reordering your content incredibly simple.

After installation and activation, go to the plugin’s settings screen and choose the content types you want to reorder:

<strong>Simple Custom Post Order</strong> screenshot

Get your content in order! πŸ‘

πŸ‘‰ get the plugin here

Post Type Switcher

Say you have a custom post type for β€œBooks” and also have a simple page. Now, you want to take your simple page and convert it to a β€œBook” custom post type page. With Post Type Switcher you can easily convert your simple page to a β€œBook” page and vice versa.

After installation and activation, your simple page and post pages will have a nice little radio select box in the document settings:

<strong>Post Type Switcher</strong> screenshot

πŸ‘‰ get the plugin here

Advanced Custom Fields (ACF)

If you need to add custom fields to your pages, posts or custom post types this plugin gives you a robust solution. Consider this next situation: You have single product pages and some of them contain a testimonials section. If a single product page does not have testimonials you need to display some kind of a feedback form. With ACF this is very simple.

Basically, you need 2 things to insert a custom field:

1) Field settings - name, type, quantity etc. :

ACF screenshot

There are many options and settings to explore!

2) location rules – where do you want the field to be displayed

ACF screenshot

And there you have it, all your single β€œProduct” pages will now have this custom field:

ACF screenshot

As I mentioned above, I usually work with the Wordpress API and thus tend to call these custom fields in the context of an API call. So, if you need to call a custom field from a function, here is a quick example:

<?php​​​​​​​
// Get all products​​​​​​​
function get_products( $data ) {

    // Get all posts where post_type = products
    $posts = get_posts([
        'post_type' => 'products'
    ]);

    if ( empty( $posts ) ) {
        return null;
    }
    // Map through all posts and add testimonials field    
    $posts = array_map(function($post){
        $post->testimonials = get_post_meta($post->ID, 'testimonials', true);
        return $post;
    }, $posts);
    return $posts;
}

// Register custom endpoint /wp-json/sample-api/v1/product
add_action( 'rest_api_init', function () {
    register_rest_route( 'sample-api/v1', '/product/', array(
      'methods' => 'GET',
      'callback' => 'get_products',
    ) );
} );
Enter fullscreen mode Exit fullscreen mode

πŸ‘‰ get the plugin here

I Hope you've found these plugins helpful and useful like I do! And, if you are unfamiliar with the WordPress API, start exploring it – you won’t regret it.

✍ For more posts:
https://yossiabramov.com/

Top comments (3)

Collapse
 
gsarig profile image
Giorgos Sarigiannidis • Edited on

FYI, you can also duplicate posts using WP-CLI, with wp post create --from-post=POST_ID --post_title="Title"
If it's for my own use, I prefer it as I avoid installing a plugin. If you need to offer the functionality to clients, though, the plugin that you mentioned is indeed great.

From time to time I need a post ordering plugin and I've been using Nsp Code's ost Types Order. Your suggestion seems better, though and I will try it the next time.

ACF is an amazing plugin and I use it too on every project. I will always be grateful to Elliot Condon :D

BTW, here's my list of the plugins that I use on most of my projects:

(The last two are mine)

Also, depending on the project's requirements, I also use:

  • WooCommerce for e-shop functionality (obviously).
  • WPML for multilingual support.
  • WP All Import (the paid version) to import data from CSV, XML etc.
  • Admin Columns (the free version) to better organize columns in the Admin Panel.
  • SeedProd's Coming Soon Page (the free version) to easily create "Coming Soon" pages until the site goes live.
  • Favicon Extender for when I want to use different icons for Android, iOS and Windows.

(the last one is mine)

Finally, I've also made DareDev, which I use on all of my custom projects. It's only for developers, though, as it doesn't have a control panel and is only meant to be used as an mu-plugin to facilitate some development tasks.

Collapse
 
yossiabramov profile image
Yossi Abramov Author

Hi,
Thanks for the great list!

Collapse
 
digital_hub profile image
hub

Hello dear Yossi,

Thank you for writing this bro. This was really helpful. i like this list alot. Thank you for supporting the WP-Community.

keep up the great work - it rocks
btw:- we look forward to see more support for the upcoming WordPress Version 5.9

with all the great features like
Full Site Editing (FSE)
Query Loop
Block-Theming
Gutenberg etc. etx.

Great things and enhancements ahead. The global WordPress-Community is waiting for this. And is curious about some news that cover all the good news. πŸ™‚

Thank you dear Yossi for all your support

🌚 Life is too short to browse without dark mode