پست تایپ وردپرس نوعی پست سفارشی در وردپرس هست مثل نوشته ها ، برگه ها یا هر چیز دیگری. مثلا برگه ها نوعی از پست تایپ های وردپرس هستند که با نام page شناخته می شوند. در واقع این پست تایپ ها وردپرس را از یک سیستم وبلاگدهی به یک سیستم مدیریت محتوای قوی تبدیل کرد.
پست تایپ های پیشفرض وردپرس عبارتند از:
حالا شما می توانید برای وردپرس ، بخش های جدیدی ایجاد کنید مثلا : نمونه کارها ، محصولات ، نظرات مشتریان و هر پست تایپ سفارشی دیگری را بسازید. مثلا بخش نمونه کارها را به سایتتان اضافه کنید. آنهم بدون افزونه
حالا که فهمیدیم پست تایپ وردپرس چیست بیایید یک پست تایپ سفارشی در وردپرس ایجاد کنیم.
خب فرض کنیم سایت فیلم و سریال داریم. می خواهیم پست تایپ جدیدی به نام فیلم ها به وردپرس اضافه کنیم.
ابتدا وارد بخش نمایش > ویرایشگر شده و فایل functions.php سایتتان را باز کنید. کد زیر را به انتهای functions.php اضافه کنید قبل از ?>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function create_posttype() { register_post_type( 'movies', array( 'labels' => array( 'name' => __( 'Movies' ), 'singular_name' => __( 'Movie' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'movies'), ) ); } add_action( 'init', 'create_posttype' ); |
حالا کافیست از طریق کد زیر تابع پست تایپ را تعریف کنید. برچسب ها و متن های نمایشی در بخش پست تایپ را تعریف کنید. در کد زیر تنظیمات پست تایپ را می توانید به دلخواه خود تغییر دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
/* * Creating a function to create our CPT */ function custom_post_type() { // Set UI labels for Custom Post Type $labels = array( 'name' => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ), 'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ), 'menu_name' => __( 'Movies', 'twentythirteen' ), 'parent_item_colon' => __( 'Parent Movie', 'twentythirteen' ), 'all_items' => __( 'All Movies', 'twentythirteen' ), 'view_item' => __( 'View Movie', 'twentythirteen' ), 'add_new_item' => __( 'Add New Movie', 'twentythirteen' ), 'add_new' => __( 'Add New', 'twentythirteen' ), 'edit_item' => __( 'Edit Movie', 'twentythirteen' ), 'update_item' => __( 'Update Movie', 'twentythirteen' ), 'search_items' => __( 'Search Movie', 'twentythirteen' ), 'not_found' => __( 'Not Found', 'twentythirteen' ), 'not_found_in_trash' => __( 'Not found in Trash', 'twentythirteen' ), ); <div style="clear:both; margin-top:1em; margin-bottom:1em;"><a href="https://mihanwp.com/more-tag/?utm_source=postcontent&utm_medium=display&utm_campaign=more" target="_self" class="ub81f59de4d8b3d7d5346ce3a5812e602"><style>.ub81f59de4d8b3d7d5346ce3a5812e602{padding:0px;margin:0;padding-top:1em !important;padding-bottom:1em !important;width:100%;display:block;font-weight:bold}.ub81f59de4d8b3d7d5346ce3a5812e602 .ctaText{color:#7B1FA2;border:2px solid #7B1FA2;border-radius:3px;padding:3px 10px}.ub81f59de4d8b3d7d5346ce3a5812e602 .postTitle{color:#333}</style><div style="padding-left:1em; padding-right:1em;"><span class="ctaText">در ادامه بخوانید</span> <span class="postTitle">جلسه 41: افزودن ادامه مطلب به پست های وردپرس</span></div></a></div> // Set other options for Custom Post Type $args = array( 'label' => __( 'movies', 'twentythirteen' ), 'description' => __( 'Movie news and reviews', 'twentythirteen' ), 'labels' => $labels, // Features this CPT supports in Post Editor 'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ), // You can associate this CPT with a taxonomy or custom taxonomy. 'taxonomies' => array( 'genres' ), /* A hierarchical CPT is like Pages and can have * Parent and child items. A non-hierarchical CPT * is like Posts. */ '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', ); // Registering your Custom Post Type register_post_type( 'movies', $args ); } /* Hook into the 'init' action so that the function * Containing our post type registration is not * unnecessarily executed. */ add_action( 'init', 'custom_post_type', 0 ); |
حالا پست تایپ سفارشی به سایت وردپرس شما اضافه شده و می توانید در بخش های مختلف منو ها و ابزارک ها و حتی وبسایت خود از آن استفاده کنید.