I think there’s no really huge difference, you choose the tool that you feel most comfortable yourself. Plugins have the drawbacks you mentioned, and doing them from scratch can be a bit slow and tedious.
The 3rd alternative, that I find really good, is a PHP class that does all the heavy lifting for you, but is still light and easy to use, e.g. Easy-WordPress-Custom-Post-Types. This particular class does custom taxonomies and metaboxes also. Very handy. So you’ll eliminate bunch of plugins with one hit.
Related Posts:
- How often do you need to register_post_type?
- update a post meta from a single table cell TablePress
- update custom post type meta from a shortcode
- Metabox not show in categories custom post type cmb2
- Custom fields for custom post type
- Simple way to hide\show an announcement (just a div) on homepage?
- Why is this function so slow?
- Query all posts where a meta key does not exist
- Delete all posts of a custom post type—efficiently
- How to Add Custom Taxonomy To Woocommerce Plugin
- Development of a WordPress Search Plugin – Best Practices
- Admin Area Custom Type Search By Meta Fields Without Title & Content
- How can I filter posts by post_parent in the admin?
- Rewriting ‘rewrite’ slug for custom post type used by plugin
- WordPress Custom Post Type Admin Page really slow
- How to create a mini directory in WordPress?
- Detect meta value changes when post is updated (post_updated)
- Search everything (posts, pages, tags, cpt, meta)
- Compare 3 custom fields and sort by oldest
- Reason action hook won’t work with update_post_meta from frontend form? Alternative?
- Getting arguments for register_post_type from a plugin generated post type
- Can’t sort order of wp_query with 2 meta keys
- How to get source of custom meta image?
- Custom Meta Boxes – Nonce Issue – Move to trash issue
- How to localize value of posts
- Displaying Meta Box Image
- How to register custom post types in a plugin?
- Display custom taxonomy as dropdown list
- How to append element after thumbnail
- ACF Upload Image in repeater from front-end with custom form? – add_post_meta()
- Best action hook to create custom post and assign taxonomy terms to it on plugin activation?
- get_post_meta is returning image id
- get_template_part() – post-meta not working?
- Filtering by Post Meta Custom Fields – Performance
- Shortcode insertion in tab
- Metadata for a taxonomy – is there any WordPress way of doing this?
- Update CPT post meta with update_post_meta and cron job
- Getting a PHP Notice when using Pods with WPML [closed]
- Should wp_postmeta meta_key always be unique for a given post_id?
- Are pages consuming more server resources than posts?
- Custom Post Type + ACF and performance [closed]
- Broken featured images are uploading from frontend
- Custom Post Archive is not working
- Is there a way to exclude posts based on meta_values?
- Submitting Custom Post Types with custom fields from Front-end form
- How can I have different content for different countries?
- How to Echo Metadata Value in Currency Format
- Filter posts by tax (dropdown) and meta value
- Publish and save specific postmeta to a filtered post_type
- Batch Extract Date from post title and put into ACF custom field
- custom permalink for post only not custom post types
- How to handle this specific case of custom post type?
- Save CTP post meta different values each day without overwriting previous values
- get_post_meta returns NULL in front-end, but correct result in back-end
- Methods for development wordpress themes [closed]
- Overriding Plugin Function in Child Theme
- Meta box data is saved but NOT displayed in the meta box text field. Why?
- Sanitaizing Select Optin For Custom Post Type Metabox in WP
- Getting WordPress to store 0 values for custom post type meta
- Problem Saving Custom Post Type Meta Values
- Get_post_custom not fetching value from array wordpress
- Add an action based on custom post meta field
- Save data is post using php front end
- Creating a custom post type upon registration for a specific user role
- How to sort by multiple values in a nested WP_Query
- Where is get_post_meta value located?
- Custom Post Type works when registered in functions.php but not when registered in plugin
- How do I create a customised table list of a custom post type (in the admin area)?
- add action save post type and update post meta woocommerce
- get_post_meta not working with variable as a post_id for dynamically get the postid
- How to check if a new private custom post type is created?
- How to save post_status using action save_post?
- Looping through image object using ACF and CPT UI [SOLVED]
- Custom post meta box as a sub form
- Metaboxes in Loop
- Add more custom fields when creating a new custom post type
- How to create groups like that in buddypress?
- Custom meta box data not saving
- Collect custom post in a calendar
- Storing data in a multidimensional array from dynamically generated foreach loop
- How to Create movie schedule by custom post type query
- How to load custom post type plugin after acf options page (or get settings from there another way)?
- Custom Fields as Post Type Options
- get_post_types doesn’t work in plugin
- Custom Post Type parent slug as menu item
- Problem with ‘save_post’ hook not running
- Customizing a plugin function using a hook
- Values inside a custom field to determine which category posts to display
- How to rewrite CPT-Permalinks the correct way (incorporating meta-box-data)?
- Advanced search form with filters for custom taxonomies and custom fields
- Top 30 Songs using Custom Post Type
- Querying meta values within an array
- WordPress User Frontend Editing Custom Fields
- why get_post_meta is returning 0?
- Display Custom Post Type on Toolset Types Plugin
- Save post_parent in a custom post type
- WordPress Admin Page Slow. Customer Post Type is the slowest
- Retrieve a post with its ACF repeater fields in wordpress
- Post Meta for Custom Post Types
- WP 4.4 upgrade custom post type cannot add new