آیا می خواهید یاد بگیرید که چگونه به راحتی انواع پست سفارشی در وردپرس ایجاد کنید؟
انواع پست سفارشی به شما این امکان را می دهد که فراتر از پست ها و صفحات بروید و انواع محتوای مختلف را برای وب سایت خود ایجاد کنید. آنها سایت وردپرس شما را از یک پلت فرم وبلاگ نویسی به یک سیستم مدیریت محتوای قدرتمند ( CMS ) تبدیل می کنند.
در این مقاله از ایوسی، به شما نشان خواهیم داد که چگونه به راحتی انواع پست سفارشی در وردپرس ایجاد کنید.
نوع پست سفارشی در وردپرس چیست؟
در وب سایت وردپرسی شما، از انواع پست برای کمک به تمایز بین انواع مختلف محتوا در وردپرس استفاده می شود. پست ها و صفحات هر دو نوع پست هستند اما برای اهداف متفاوتی ساخته شده اند.
وردپرس به طور پیش فرض دارای چند نوع پست مختلف است:
- پست
- صفحه / برگه
- پیوست
- تجدید نظر
- منوی Nav
شما همچنین می توانید انواع پست خود را ایجاد کنید که به عنوان انواع پست سفارشی شناخته می شوند. این موارد هنگام ایجاد محتوایی که فرمت متفاوتی نسبت به یک پست یا صفحه استاندارد دارد مفید است.
به عنوان مثال، اگر یک وب سایت نقد و بررسی فیلم دارید، احتمالاً می خواهید یک نوع پست نقد فیلم ایجاد کنید. همچنین میتوانید انواع پست سفارشی برای نمونه کارها، گواهینامهها و محصولات ایجاد کنید.
در ایوسی، ما از انواع پست سفارشی برای بخش های طراحی های تجاری و … خود استفاده می کنیم تا آنها را از مقالات روزانه وبلاگ خود جدا نگه داریم. این به ما کمک می کند تا محتوای وب سایت خود را بهتر سازماندهی کنیم.
انواع پست سفارشی می توانند فیلدهای سفارشی متفاوت و ساختار دسته بندی سفارشی خود را داشته باشند.
بسیاری از افزونه های محبوب وردپرس از انواع پست سفارشی برای ذخیره داده ها در وب سایت وردپرس شما استفاده می کنند. در زیر چند افزونه برتر وجود دارد که از انواع پست سفارشی استفاده می کنند:
- WooCommerce یک نوع پست “محصول” را به فروشگاه آنلاین شما اضافه می کند
- WPForms یک نوع پست ‘wpforms’ ایجاد می کند تا همه فرم های شما را ذخیره کند
- MemberPress یک نوع پست سفارشی ‘memberpressproduct’ اضافه می کند
آیا نیاز به ایجاد انواع پست سفارشی دارم؟
قبل از اینکه شروع به ایجاد انواع پست سفارشی در سایت وردپرس خود کنید، مهم است که نیازهای خود را ارزیابی کنید. خیلی اوقات می توانید با یک پست یا صفحه معمولی به نتایج مشابهی دست پیدا کنید.
اگر مطمئن نیستید که سایت شما به انواع پست سفارشی نیاز دارد، به راهنمای ما در مورد اینکه چه زمانی به نوع پست سفارشی یا طبقه بندی در وردپرس نیاز دارید مراجعه کنید.
همانطور که گفته شد، بیایید نگاهی به نحوه ایجاد آسان انواع پست سفارشی در وردپرس برای استفاده خود بیاندازیم.
ما دو روش را به شما نشان خواهیم داد و همچنین برخی از روشهایی را که میتوانید انواع پستهای سفارشی را در وبسایت وردپرس خود نمایش دهید، پوشش میدهیم.
- ایجاد یک نوع پست سفارشی با استفاده از WPCode (توصیه می شود)
- ایجاد یک نوع پست سفارشی با یک پلاگین
- نمایش انواع پست سفارشی در سایت شما
ایجاد یک نوع پست سفارشی به صورت دستی با استفاده از WPCode
ایجاد یک نوع پست سفارشی مستلزم افزودن کد به فایل functions.php تم خود است. به طور معمول، ما این را به هیچکس به جز کاربران پیشرفته توصیه نمیکنیم، زیرا حتی یک اشتباه کوچک میتواند سایت شما را خراب کند. همچنین، اگر تم خود را به روز کنید، کد پاک می شود.
با این حال، ما از WPCode استفاده خواهیم کرد، ساده ترین و ایمن ترین راه برای هر کسی که می تواند کد سفارشی را به وب سایت وردپرس خود اضافه کند.
با WPCode، میتوانید قطعههای سفارشی اضافه کنید، و همچنین بسیاری از ویژگیها را از کتابخانه کد داخلی و از پیش پیکربندی شده آن فعال کنید که میتواند جایگزین بسیاری از افزونههای اختصاصی یا یکبار مصرفی شود که ممکن است نصب کرده باشید.
ابتدا باید افزونه رایگان WPCode را نصب و فعال کنید. برای دستورالعمل های دقیق، راهنمای گام به گام ما را در مورد نحوه نصب افزونه وردپرس بررسی کنید.
پس از فعال شدن، به قسمت Code Snippets » Add Snippet در داشبورد وردپرس خود بروید. ماوس خود را روی «Add Your Custom Code (New Snippet)» قرار دهید و سپس روی «Use Snippet» کلیک کنید.
سپس به صفحه «ایجاد قطعه سفارشی» هدایت می شوید.
اکنون، میتوانید به قطعه کد خود یک عنوان بدهید و سوئیچ را روی «فعال» تغییر دهید.
پس از آن، فقط کد زیر را در قسمت “پیش نمایش کد” قرار دهید. این کد یک نوع پست سفارشی اولیه به نام “فیلم” ایجاد می کند که در نوار کناری مدیریت شما ظاهر می شود و با هر موضوعی کار می کند.
// Our custom post type function function create_posttype() { register_post_type( 'movies', // CPT Options array( 'labels' => array( 'name' => __( 'Movies' ), 'singular_name' => __( 'Movie' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'movies'), 'show_in_rest' => true, ) ); } // Hooking up our function to theme setup add_action( 'init', 'create_posttype' );
اگر فقط یک نوع پست سفارشی اولیه میخواهید، کافی است آن را با Slug و نام CPT خود جایگزین کنید movies
و Movies
روی دکمه «بهروزرسانی» کلیک کنید.
با این حال، اگر گزینه های بیشتری برای نوع پست سفارشی خود می خواهید، به جای کد بالا از کد زیر استفاده کنید.
کد زیر گزینههای بیشتری را به نوع پست سفارشی «فیلمها» اضافه میکند، مانند پشتیبانی از ویرایشها، تصاویر برجسته، فیلدهای سفارشی، و همچنین مرتبط کردن نوع پست سفارشی با یک طبقهبندی سفارشی به نام « ژانر ».
توجه: این دو قطعه را با هم ترکیب نکنید یا وردپرس به شما خطا می دهد زیرا هر دو قطعه یک نوع پست سفارشی را ثبت می کنند. توصیه می کنیم برای هر نوع پست اضافی که می خواهید ثبت کنید، یک قطعه کاملا جدید با استفاده از WPCode ایجاد کنید.
/* * 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', 'twentytwentyone' ), 'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentytwentyone' ), 'menu_name' => __( 'Movies', 'twentytwentyone' ), 'parent_item_colon' => __( 'Parent Movie', 'twentytwentyone' ), 'all_items' => __( 'All Movies', 'twentytwentyone' ), 'view_item' => __( 'View Movie', 'twentytwentyone' ), 'add_new_item' => __( 'Add New Movie', 'twentytwentyone' ), 'add_new' => __( 'Add New', 'twentytwentyone' ), 'edit_item' => __( 'Edit Movie', 'twentytwentyone' ), 'update_item' => __( 'Update Movie', 'twentytwentyone' ), 'search_items' => __( 'Search Movie', 'twentytwentyone' ), 'not_found' => __( 'Not Found', 'twentytwentyone' ), 'not_found_in_trash' => __( 'Not found in Trash', 'twentytwentyone' ), ); // Set other options for Custom Post Type $args = array( 'label' => __( 'movies', 'twentytwentyone' ), 'description' => __( 'Movie news and reviews', 'twentytwentyone' ), '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' => 'post', 'show_in_rest' => true, ); // 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 );
همچنین ممکن است متوجه قسمتی شوید که مقدار سلسله مراتبی را روی false
قرار داده ایم. اگر میخواهید نوع پست سفارشی شما بهجای پستها مانند صفحات رفتار کند، میتوانید این مقدار را روی true
قرار دهید.
نکته دیگری که باید به آن توجه کرد استفاده مکرر از twentytwentyone
رشته است که به آن Text Domain می گویند. اگر تم شما آماده ترجمه است و می خواهید انواع پست های سفارشی شما ترجمه شوند، باید دامنه متن مورد استفاده تم خود را ذکر کنید.
میتوانید دامنه متنی موضوع خود را در داخل style.css
فایل در فهرست موضوعی خود یا با رفتن به Appearance » ویرایشگر فایل تم در پنل مدیریت خود پیدا کنید. دامنه متن در هدر فایل ذکر خواهد شد.
twentytwentyone
به سادگی با دامنه متنی تم خود جایگزین کنید.
هنگامی که از تغییرات راضی بودید، به سادگی روی دکمه «بهروزرسانی» کلیک کنید و WPCode بقیه موارد را مدیریت خواهد کرد.
ایجاد یک نوع پست سفارشی با یک پلاگین
یکی دیگر از راه های آسان برای ایجاد یک نوع پست سفارشی در وردپرس استفاده از یک افزونه است. این روش برای مبتدیان توصیه می شود زیرا ایمن و فوق العاده آسان است.
اولین کاری که باید انجام دهید این است که افزونه Custom Post Type UI را نصب و فعال کنید. برای جزئیات بیشتر، راهنمای گام به گام ما در مورد نحوه نصب افزونه وردپرس را ببینید.
پس از فعال سازی، برای ایجاد یک نوع پست سفارشی جدید، باید به CPT UI » Add/Edit Post Types بروید. شما باید در برگه «افزودن نوع پست جدید» باشید.
ابتدا، باید برای نوع پست سفارشی خود، مانند «فیلم»، یک اسلاگ تهیه کنید. این Slug در URL و در جستارهای وردپرس استفاده می شود، بنابراین فقط می تواند شامل حروف و اعداد باشد. در زیر آن، باید نامهای جمع و مفرد را برای نوع پست سفارشی خود ارائه دهید.
پس از آن، اگر دوست داشتید، میتوانید روی پیوندی که میگوید «برچسبهای اضافی بر اساس برچسبهای انتخابی پر کنید» کلیک کنید. این به طور خودکار فیلدهای برچسب اضافی را در زیر پر می کند و معمولاً در وقت شما صرفه جویی می کند.
اکنون میتوانید به قسمت «برچسبهای اضافی» بروید. اگر روی پیوندی که ذکر کردیم کلیک نکردید، اکنون باید توضیحی برای نوع پست خود ارائه دهید و برچسبها را تغییر دهید.
هنگامی که شما در حال مدیریت محتوا در آن نوع پست خاص هستید، از این برچسب ها در سراسر رابط کاربری وردپرس استفاده می شود.
بعد تنظیمات نوع پست می آید. از اینجا می توانید ویژگی های مختلفی را برای نوع پست خود تنظیم کنید. هر گزینه همراه با توضیح مختصری است که توضیح می دهد چه کاری انجام می دهد.
به عنوان مثال، میتوانید انتخاب کنید که نوع پست سلسله مراتبی مانند صفحات نباشد یا پستهای زمانی به صورت معکوس مرتب شود.
در زیر تنظیمات کلی، گزینه ای برای انتخاب ویژگی های ویرایش این نوع پست را مشاهده خواهید کرد. به سادگی گزینه هایی را که می خواهید شامل شوند بررسی کنید.
در نهایت، روی دکمه «افزودن نوع پست» کلیک کنید تا نوع پست سفارشی خود را ذخیره و ایجاد کنید.
همین. شما با موفقیت نوع پست سفارشی خود را ایجاد کرده اید و می توانید ادامه دهید و شروع به اضافه کردن محتوا کنید.
نمایش انواع پست سفارشی در سایت شما
وردپرس دارای پشتیبانی داخلی برای نمایش انواع پست سفارشی شما است. هنگامی که چند مورد را به نوع پست سفارشی جدید خود اضافه کردید، زمان نمایش آنها در وب سایت شما فرا می رسد.
چند روش وجود دارد که می توانید از آنها استفاده کنید و هر کدام مزایای خاص خود را دارند.
نمایش انواع پست سفارشی با استفاده از الگوی آرشیو پیش فرض
ابتدا می توانید به سادگی به Appearance » Menus بروید و یک لینک سفارشی به منوی خود اضافه کنید. این پیوند سفارشی پیوندی به نوع پست سفارشی شما است.
اگر از پیوندهای دائمی مناسب سئو استفاده می کنید، URL نوع پست سفارشی شما به احتمال زیاد چیزی شبیه به این خواهد بود:
http://example.com/movies
اگر از پیوندهای دائمی مناسب سئو استفاده نمی کنید، URL نوع پست سفارشی شما چیزی شبیه به این خواهد بود:
http://example.com/?post_type=movies
فراموش نکنید که ‘example.com’ را با نام دامنه خود و ‘movies’ را با نام نوع پست سفارشی خود جایگزین کنید.
منوی خود را ذخیره کنید و سپس به قسمت جلویی وب سایت خود مراجعه کنید. آیتم منوی جدیدی را که اضافه کردهاید مشاهده میکنید و وقتی روی آن کلیک میکنید، صفحه آرشیو نوع پست سفارشی شما را با استفاده از فایل قالب archive.php در موضوع شما نمایش میدهد.
ایجاد قالب های سفارشی نوع پست
اگر ظاهر صفحه آرشیو را برای نوع پست سفارشی خود دوست ندارید، می توانید از یک الگوی اختصاصی برای بایگانی های نوع پست سفارشی استفاده کنید.
تنها کاری که باید انجام دهید این است که یک فایل جدید در پوشه تم خود ایجاد کنید و نام آن را archive-movies.php
بگذارید. مطمئن شوید که «فیلمها» را با نام نوع پست سفارشی خود جایگزین کردهاید.
برای شروع، می توانید محتویات فایل archive.php
تم خود را در قالب archive-movies.php
کپی کنید و سپس آن را برای رفع نیازهای خود تغییر دهید.
اکنون هر زمان که به صفحه آرشیو نوع پست سفارشی شما دسترسی پیدا کرد، از این الگو برای نمایش آن استفاده می شود.
به طور مشابه، شما همچنین می توانید یک الگوی سفارشی برای نمایش تک ورودی نوع پست خود ایجاد کنید. برای انجام این کار باید در پوشه single-movies.php
تم خود ایجاد کنید. فراموش نکنید که «فیلم» را با نام نوع پست سفارشی خود جایگزین کنید.
می توانید با کپی کردن محتویات single.php
قالب تم خود در single-movies.php
قالب شروع کنید و سپس شروع به تغییر آن برای رفع نیازهای خود کنید.
برای کسب اطلاعات بیشتر، راهنمای ما در مورد نحوه ایجاد قالب های سفارشی پست تک در وردپرس را ببینید.
نمایش انواع پست سفارشی در صفحه اول
یکی از مزایای استفاده از انواع پست سفارشی این است که انواع محتوای سفارشی شما را از پست های معمولی شما جدا نگه می دارد. با این حال، اگر دوست دارید، می توانید انواع پست سفارشی را در صفحه اول وب سایت خود نمایش دهید.
به سادگی این کد را به عنوان یک قطعه جدید با استفاده از افزونه رایگان WPCode اضافه کنید. لطفاً بخش این مقاله را در مورد افزودن دستی کد برای دستورالعمل های دقیق ببینید.
add_action( 'pre_get_posts', 'add_my_post_types_to_query' ); function add_my_post_types_to_query( $query ) { if ( is_home() && $query->is_main_query() ) $query->set( 'post_type', array( 'post', 'movies' ) ); return $query; }
فراموش نکنید که «فیلم» را با نوع پست سفارشی خود جایگزین کنید.
پرس و جو از انواع پست سفارشی
اگر با کد نویسی آشنا هستید و مایلید پرس و جوهای حلقه ای را در قالب های خود اجرا کنید، در اینجا نحوه انجام این کار آورده شده است. با پرس و جو در پایگاه داده، می توانید موارد را از یک نوع پست سفارشی بازیابی کنید.
شما باید قطعه کد زیر را در قالبی که میخواهید نوع پست سفارشی نمایش داده شود، کپی کنید.
<?php $args = array( 'post_type' => 'movies', 'posts_per_page' => 10 ); $the_query = new WP_Query( $args ); ?> <?php if ( $the_query->have_posts() ) : ?> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <h2><?php the_title(); ?></h2> <div class="entry-content"> <?php the_content(); ?> </div> <?php endwhile; wp_reset_postdata(); ?> <?php else: ?> <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p> <?php endif; ?>
این کد نوع پست و تعداد پستها را در هر صفحه در آرگومانهای کلاس WP_Query
جدید تعریف میکند. سپس پرس و جو را اجرا می کند، پست ها را بازیابی می کند و آنها را در داخل حلقه نمایش می دهد.
نمایش انواع پست سفارشی در ویجت ها
متوجه خواهید شد که یک ویجت پیشفرض در وردپرس برای نمایش پستهای اخیر وجود دارد، اما به شما اجازه نمیدهد نوع پست سفارشی را انتخاب کنید.
اگر بخواهید آخرین ورودیهای نوع پست جدید ایجاد شده خود را در یک ویجت نمایش دهید چه؟ یک راه آسان برای انجام این کار وجود دارد.
اولین کاری که باید انجام دهید این است که افزونه Custom Post Type Widgets را نصب و فعال کنید. برای جزئیات بیشتر، راهنمای گام به گام ما در مورد نحوه نصب افزونه وردپرس را ببینید.
پس از فعالسازی، به سادگی به Appearance » Widgets بروید و ویجت «پستهای اخیر (نوع پست سفارشی)» را در نوار کناری بکشید و رها کنید.
این ویجت به شما امکان می دهد پست های اخیر را از هر نوع پستی نشان دهید. شما باید نوع پست سفارشی خود را از منوی کشویی «نوع پست» انتخاب کنید و گزینه های مورد نظر خود را انتخاب کنید.
پس از آن، مطمئن شوید که روی دکمه «بهروزرسانی» در بالای صفحه کلیک کرده و سپس از وبسایت خود دیدن کنید تا ویجت را در عمل ببینید.
این افزونه همچنین ویجتهای نوع پست سفارشی را ارائه میکند که بایگانیها، تقویم، دستهها، نظرات اخیر، جستجو و یک ابر برچسب را نمایش میدهد.
امیدواریم این آموزش به شما در یادگیری نحوه ایجاد انواع پست سفارشی در وردپرس کمک کرده باشد. همچنین ممکن است بخواهید یاد بگیرید که چگونه ترافیک وبلاگ خود را افزایش دهید، یا لیست ما از خطاهای رایج وردپرس و نحوه رفع آنها را بررسی کنید.
و همچنین بخوانید: نحوه تغییر صحیح قالب وردپرس (راهنمای نهایی)