آموزش ساخت پست تایپ (Post Type) سفارشی در سایت وردپرسی (با 2 روش)
- آموزش • آموزش وردپرس
- ۸ مرداد ۱۴۰۲
- 1,928 بازدید
با توجه به درخواست بسیاری از کاربران وبیت و بقیه وبمستران ، تصمیم گرفتیم که بهتون توی یک مقاله جامع ، جمع و جور و جذاب ، نوشتن پست تایپ های جدید و سفارشی برای وردپرس را یاد دهیم . همچنین اگر میخواهید بدانید که چطوری یک پست تایپ جدید رو به RSS وردپرس اضافه کنید ، این مقاله رو حتما مطالعه کنید .
اگر علاقمند به یادگیری بیشتر هستید ، ما را تا انتهای این مقاله همراهی کنید . علاوه بر اینها ، باید بگم که توی اکثر پروژه های طراحی سایت با وردپرس ، معمولا نوشتن پست تایپ جدید وجود داره ! یعنی بهتره که این فیلدهای آموزشی رو دنبال کنید تا علمتون برای عملی که میخواهید انجام دهید ، افزایش پیدا کند .
آنچه در این پست میخوانید
اول بگیم که پست تایپ در وردپرس چیه؟
همونطور که از اسمش مشخصه ، پست تایپ به منظور ، انواعی از پست ها مانند برگه ها ، پست ها ، فهرست ها و …. است . وقتی میگیم که میخواهیم یک پست تایپ جدید و سفارشی ایجاد کنیم ، یعنی میخواهیم یک نوع از پست رو در وردپرس که سفارشی هست (متمامیز با بقیه Post Type های دیگه ) رو ایجاد کنیم . مانند پورتفولیو ، کارکنان و …! همچنین شما میتوانید با استفاده از این ویژگی یک بخش مجزا از نوشته ها و محتوای متفاوت خود را ایجاد کنید.
برای شروع ساخت Post Type ، فایل فانکشن رو باز کنید .
فرض کنید که یک سایت با محتوای (ویدئویی) داشته باشید. حال باید برای اضافه کردن هر ویدئو ، یک پست تایپ جدید ایجاد کنیم . برای این کار ابتدا وارد پیشخوان وردپرس شده و از منو پیشخوان > ویرایشگر > فایل functions.php را باز کنید (همچنین میتونید فایل فانکشن را از فایل منیجر هاست خود باز کنید ) و سپس در انتهای آن کد زیر را اعمال کنید.
function vebeet_posttype(){ register_post_type( 'videos', array( 'labels' => array( 'name' => __( 'videos' ), 'singular_name' => __( 'video' )), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'videos'), )); } add_action( 'init', 'vebeet_posttype' ); function custom_post_type() { $labels = array( 'name' => _x( 'videos', 'Post Type General Name', 'twentythirteen' ), 'singular_name' => _x( 'video', 'Post Type Singular Name', 'twentythirteen' ), 'menu_name' => __( 'videos', 'twentythirteen' ), 'parent_item_colon' => __( 'Parent videos', 'twentythirteen' ), 'all_items' => __( 'All videos', 'twentythirteen' ), 'view_item' => __( 'View videos', 'twentythirteen' ), 'add_new_item' => __( 'Add New videos', 'twentythirteen' ), 'add_new' => __( 'Add New', 'twentythirteen' ), 'edit_item' => __( 'Edit videos', 'twentythirteen' ), 'update_item' => __( 'Update videos', 'twentythirteen' ), 'search_items' => __( 'Search videos', 'twentythirteen' ), 'not_found' => __( 'Not Found', 'twentythirteen' ), 'not_found_in_trash' => __( 'Not found in Trash', 'twentythirteen' ), ); $args = array( 'label' => __( 'videos', 'twentythirteen' ), 'description' => __( 'video news and reviews', 'twentythirteen' ), 'labels' => $labels, 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ), 'taxonomies' => array( 'genres' ), 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'can_export' => true, 'has_archive' => true, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'page', ); register_post_type( 'videos', $args ); } add_action( 'init', 'custom_post_type', 0 );
پس از درج کد بالا تغییرات خود را ذخیره کرده و پست تایپ video را مشاهده کنید. همچنین در ادامه باید به تعیین نامک (slug) پست تایپ بپردازیم . به عنوان مثال اگر صفحه test با استفاده از این Post Type ایجاد شود. آدرس صفحه به شکل domain.com/videos/test می باشد.
‘rewrite’ => array(‘slug’ => ‘musics’),
ترجمه و تغییر عناوین مختلف Post Type در خط $labels = array امکان پذیر می باشد
‘name’ => _x( ‘ویدئوها’, ‘Post Type General Name’, ‘twentythirteen’ ),
‘singular_name’ => _x( ‘ویدئوها’, ‘Post Type Singular Name’, ‘twentythirteen’ ),
‘menu_name’ => __( ‘ویدئوها’, ‘twentythirteen’ ),
با استفاده از واژه های true, false میتوانید ویژگی های زیر را برای Post Type وردپرس خود فعال و یا غیر فعال کنید. بعضی از ویژگی های مهم پست تایپ در زیر قابل مشاهده می باشد.
‘hierarchical’ => false, دستبندی و برچسب
‘public’ => true, نمایش برای عمومی
‘menu_position’ => 5, جایگاه پست تایپ در منو پیشخوان
‘has_archive’ => true, ایجاد قابلیت بایگانی
‘exclude_from_search’ => false, خارج کردن از نتایج جستجو
همچنین برخی افزونه ها برای ایجاد Post Type وجود دارند . (مانند Post engine) استفاده از این افزونه برای همه وبمسترها امکان پذیره و باید بگم که شما فقط نیاز به پیکربندی تنظیمات آن دارید . امیدواریم که این مقاله تا اینجای کار براتون مفید واقع شده باشه و با استفاده از کدی که در بالا آورده ایم ، بتوانید انواع پست تایپ های سفارشی که دلتان میخواهد را داشته باشید.