কাস্টম পোস্ট টাইপ – Create a Custom Post Type in WordPress in 5 Minutes

কাস্টম পোস্ট টাইপ – Create a Custom Post Type in WordPress in 5 Minutes

কাস্টম পোস্ট টাইপ  (WordPress Custom Post Type) : আপনারা যারা ওয়ার্ডপ্রেস নিয়ে কাজ করেন, তাদের মাঝে মধ্যেই নতুন পোস্ট টাইপ তৈরির প্রয়োজন হতেই পারে। সেক্ষেত্রে আমরা অনেকেই যা করি তা হলো কোন একটা প্লাগ-ইন ব্যাবহার করে নতুন পোস্ট বানিয়ে ফেলি। কিন্তু চাইলেই ব্যপারটা খুব সহজেই আমরা তৈরি করতে পারি কোন প্রকার প্লাগ-ইন এর সাহায্য ছাড়াই।

তাহলে চলুন দেখি কিভাবে আমরা function.php থেকে custom post type তৈরি করতে পারি । তাহলে আমরা বুজতেই পারছি আমরা আমাদের সবটুকু কাজটা করবো function.php তে । আর ২ টা wordpress function ব্যাবহার করে আমরা আমাদের নিজেদের একটি custom post এবং custom taxonomy তৈরি করে ফেলতে পারবো

প্রথমটা হল register_post_type( string $post_type, array|string $args = array() ) । wordpress এর এই ফাংশনটা দিয়ে custom post type কে আমরা রেজিস্টার করতে পারবো । কিন্তু আমাদের ফাংশনটির প্যারামিটার গুলোর সাথে আগে পরিচয় হয়ে নিতে হবে । প্যারামিটার অংশে ডেটা টাইপ সহ চলক থাকে, যা ফাংশনটি কি ধরণের কয়টি ডেটা ইনপুট নিবে তা নির্ধারণ করে । যেমন এখানে $post_type প্যারামিটার দিয়ে আমরা পোস্টটির টাইপ কী(key) নির্ধারণ করতে পারি যেমন আমার পোস্টটি যদি অনেক গুলো বইয়ের ডেটা হই তাহলে আমি দিতে পারি “books” অথবা যেটা মন চাই ( projects , portfolio ) , এবার আসি $args প্যারামিটার – যেটা হল একটি অ্যারে , এই প্যারামিটার দিয়ে আমরা পোস্টটির আরগুমেন্টস গুলো নির্ধারণ করে দিতে পারবো । আমি নিচে দিয়ে দিয়েছি কিভাবে ফাংশনটি লিখবো , আর আরগুমেন্তস গুলো নিয়ে বিস্তারিত আপনারা এই লিংকে পেয়ে যাবেন

কাস্টম পোস্ট টাইপ – Custom Post Type

function my_custom_post_type()
{


    register_post_type(
        'mypost',

        $args = array(
            'labels' => array(
                'name' => __('My Post'),
                'singular_name' => __('my_post'),
                'add_new' => 'Add New Post',
                'edit_item' => 'Edit Post',
                'search_items' => 'Search Post',
            ),
            'supports' => array('title', 'editor', 'custom-fields', 'thumbnail', 'page-attributes', 'post-formats', 'excerpt'),
            'menu_icon' => 'dashicons-schedule',
            'show_tagcloud' => false,
            'rewrite' => array('slug' => 'my_post', 'with_front' => false),
            'taxonomy' => true,
            'query_var' => true,
            'hierarchical' => false,
            'public' => true,
            'show_ui' => true,
            'show_in_menu' => true,
            'menu_position' => null,
            'show_in_admin_bar' => true,
            'show_in_nav_menus' => true,
            'can_export' => true,
            'has_archive' => true,
            'exclude_from_search' => false,
            'publicly_queryable' => true,
            'capability_type' => 'post',

        )


    );


}

add_action('init', 'my_custom_post_type');

 

add_action( string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1 )

এরপর আমাদের যেই ফাংশনটা লাগবে সেটা হল add_action() ফাংসন । আমরা যদি একটু ভাল করে দেখি register_post_type ব্যাবহার করার আগে আমরা পুরো ফাংশনটি my_custom_post_type() একটা custom function এর ভিতরে রাখা , এখন আমাদের my_custom_post_type ফাংশনটি init করতে হবে , আর init করার জন্য আমাদের দরকার add_action() ফাংশন । add_action() নিয়ে বিস্তারিত এই লিঙ্কে ।

আপাততো আমাদের কাজ শেষ । এখন function.php ফাইল সেভ করে এডমিন ড্যাশবোর্ড রিফ্রেশ দিন , লেফট সাইডবারে খেয়াল করে দেখুন My Post নামে নতুন একটি পোস্ট টাইপ অপশন চলে আসছে

 

কাস্টম পোস্ট টাইপ ( WordPress Custom Post Type )
কাস্টম পোস্ট টাইপ ( WordPress Custom Post Type )

WordPress Directory Structure
“Solving Rest API CORS Issues in WordPress as a Headless CMS”

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top
Theme Mode