فهرست مقاله
وردپرس به عنوان محبوبترین سیستم مدیریت محتوا، به کاربران خود امکان خلق انعطافپذیری بالایی در ساخت محتوا میدهد. یکی از این قابلیتها، ایجاد پست تایپ سفارشی است. با استفاده از این قابلیت، میتوانید دستهبندیهای جدیدی برای محتوای خود در وردپرس ایجاد کنید، که فراتر از پستها و برگههای پیش فرض وردپرس هستند.
این مقاله آموزشی به طور جامع به شما میآموزد که چگونه بدون افزونه و با استفاده از افزونه، پست تایپ سفارشی خود را در وردپرس ایجاد کنید.
در صورت تمایل به یادگیری حرفهای وردپرس و طراحی سایتهای کاملا سفارسی سازی شده بدون استفاده از قالب آماده میتوانید دوره « طراحی سایت پیشرفته فروش » را مشاهده نمایید.
پست تایپ وردپرس چیست؟
پست تایپ سفارشی یکی از انواع دستهبندی پست تایپ در وردپرس است که این امکان را میدهد دستهبندیهای جدیدی برای محتوای خود در وردپرس ایجاد کنید.
این دستهبندیها میتوانند شامل انواع مختلفی از محتوا مانند کتابهای الکترونیکی، رویدادها، نمونه کارها، محصولات، املاک، فیلم، موسیقی یا هر نوع محتوای دیگری که مدنظر دارید باشد.
به طور پیش فرض، پنج پست تایپ در وردپرس موجود است:
- نوشته یا پست
- صفحه یا برگه
- پیوست یا ضمیمه
- تجدید نظر یا ضمیمه
- منوی ناوبری
مزایای استفاده از پست تایپهای سفارشی
سازماندهی بهتر محتوا:
با استفاده از پست تایپ سفارشی میتوانید محتوای خود را به طور دستهبندی شده و منظمتر در وردپرس مدیریت کنید.
ایجاد رابط کاربری سفارشی:
میتوانید برای هر پست تایپ سفارشی، متا باکسها و قالبهای سفارشی ایجاد کنید تا متناسب با نیازهای خودتان باشد.
قابلیت جستجوی بهتر:
موتورهای جستجو مانند گوگل میتوانند پست تایپ سفارشی شما را به درستی شناسایی و فهرستبندی کنند، که به بهبود سئوی سایت شما کمک میکند.
افزایش انعطاف پذیری:
با استفاده از پست تایپ سفارشی، میتوانید بدون نیاز به پلاگینهای اضافی، قابلیتهای جدیدی را به وردپرس خود اضافه کنید.
ایجاد پست تایپ سفارشی بدون افزونه
برای این کار کافیست فایل functions.php قالب خود را در مسیر wp-content/themes/your-theme-folder ویرایش کنید.
به جای your-theme-folder باید نام فولدر قالب خودتان را قرار دهید.
ا. تعریف پست تایپ سفارشی
در فایل functions.php، کد زیر را برای تعریف یک پست تایپ سفارشی به نام « کتاب الکترونیکی » به انتهای فایل اضافه کنید:
function create_book_post_type() {
register_post_type( 'book',
array(
'labels' => array(
'name' => __( 'کتابهای الکترونیکی', 'your-textdomain' ),
'singular_name' => __( 'کتاب الکترونیکی', 'your-textdomain' ),
'menu_name' => __( 'کتابهای الکترونیکی', 'your-textdomain' ),
'add_new_item' => __( 'افزودن کتاب جدید', 'your-textdomain' ),
'edit_item' => __( 'ویرایش کتاب', 'your-textdomain' ),
'new_item' => __( 'کتاب جدید', 'your-textdomain' ),
'view_item' => __( 'مشاهده کتاب', 'your-textdomain' ),
'search_items' => __( 'جستجوی کتاب', 'your-textdomain' ),
'not_found_items' => __( 'هیچ کتابی یافت نشد.', 'your-textdomain' ),
'parent_item_colon' => __( 'کتاب والد:', 'your-textdomain' ),
'all_items' => __( 'همه کتابها', 'your-textdomain' ),
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'thumbnail' ),
)
);
}
add_action( 'init', 'create_book_post_type' );
در کد بالا، میتوانید موارد زیر را مطابق با نیاز خودتان تغییر دهید:
- book: نام slug پست سفارشی شما
- کتابهای الکترونیکی: عنوان و برچسبهای مختلف برای پست تایپ سفارشی
- public: این پست تایپ در پیشخوان وردپرس قابل مشاهده خواهد بود
- has_archive: برای این پست تایپ یک آرشیو مجزا ایجاد خواهد شد.
- title, editor, thumbnail: زمینههای متا که برای این پست تایپ سفارشی در نظر گرفته میشود.
2. ثبت متا باکسهای سفارشی
میتوانید برای پست تایپ سفارشی خود، متا باکسهای سفارشی ایجاد کنید تا فیلدهای جدیدی را برای افزودن اطلاعات به محتوای خود اضافه کنید. برای این کار از کد زیر در فایل functions.php استفاده کنید:
function add_book_meta_boxes() {
add_meta_box( 'book_meta', __( 'اطلاعات کتاب', 'your-textdomain' ), 'book_meta_callback', 'book', 'normal', 'high' );
}
add_action( 'admin_init', 'add_book_meta_boxes' );
function book_meta_callback( $post ) {
wp_nonce_field( 'book_meta_nonce', 'book_meta_nonce' );
$author = get_post_meta( $post->ID, 'book_author', true );
$publisher = get_post_meta( $post->ID, 'book_publisher', true );
?>
<p>
<label for="book_author">نویسنده:</label>
<input type="text" id="book_author" name="book_author" value="<?php echo esc_attr( $author ); ?>" class="widefat" />
</p>
<p>
<label for="book_publisher">ناشر:</label>
<input type="text" id="book_publisher" name="book_publisher" value="<?php echo esc_attr( $publisher ); ?>" class="widefat" />
</p>
<?php
}
function save_book_meta( $post_id ) {
if ( ! isset( $_POST['book_meta_nonce'] ) ) {
return;
}
if ( ! wp_verify_nonce( $_POST['book_meta_nonce'], 'book_meta_nonce' ) ) {
return;
}
$author = sanitize_text_field( $_POST['book_author'] );
$publisher = sanitize_text_field( $_POST['book_publisher'] );
update_post_meta( $post_id, 'book_author', $author );
update_post_meta( $post_id, 'book_publisher', $publisher );
}
add_action( 'save_post', 'save_book_meta' );
در کد بالا، میتوانید نام و شناسه متا باکس، عنوان متا باکس و تابع callback را مطابق با نیاز خودتان تغییر دهید.
3. ایجاد قالبهای سفارشی
میتوانید برای پست تایپ سفارشی خود، قالبهای سفارشی ایجاد کنید تا نحوه نمایش محتوای آن در صفحات مختلف سایت را کنترل کنید. برای این کار، باید فایل template جدیدی را در پوشه wp-content/themes/your-theme-folder ایجاد کنید.
به عنوان مثال، برای ایجاد یک قالب تک برای پست تایپ « کتاب » باید یک فایل به نام single-book.php ایجاد کنید.
در این فایل، میتوانید کدهای HTML و PHP برای نمایش اطلاعات مربوط به پست تایپ سفارشی خود را قرار دهید.
ایجاد پست تایپ سفارشی با افزونه
استفاده از افزونه برای ایجاد پست تایپ سفارشی، روشی سادهتر و سریعتر است که نیاز به دانش برنامهنویسی ندارد.
معرفی افزونه Custom Post Type UI
یکی از محبوبترین افزونهها برای ایجاد پست تایپ سفارشی، افزونه Custom Post Type UI است. این افزونه به شما امکان میدهد تا به طور گرافیکی و بدون نیاز به کدنویسی، پست تایپ سفارشی را با تمام امکانات مورد نظر خود ایجاد کنید.
ایجاد پست تایپ سفارشی با استفاده از افزونه Custom Post Type UI
پس از نصب و فعال سازی افزونه Custom Post Type UI، مراحل زیر را برای ایجاد پست تایپ سفارشی « کتاب الکترونیکی » انجام دهید:
- به پیشخوان وردپرس بروید و از منوی سمت چپ، گزینه Custom Post Types را انتخاب کنید.
- بر روی دکمه Add New Post Type کلیک کنید.
- در فیلد label نام « کتابهای الکترونیکی » را وارد کنید.
- در فیلد Singular Label نام « کتاب الکترونیکی » را وارد کنید.
- در فیلد Slug نام « book » را وارد کنید.
- در بخش Options، میتوانید تنظیمات مختلفی مانند آیکون، سلسله مراتبی و دستهها را برای پست تایپ سفارشی خود انتخاب کنید.
- در بخش Meta Boxes، میتوانید متا باکسهای سفارشی را برای افزودن فیلدهای جدید به محتوای خود ایجاد کنید.
- پس از انجام تنظیمات، بر روی دکمه Publish کلیک کنید.
تبریک میگویم، شما موفق شدید پست تایپ سفارشی برای کتابهای الکترونیکی را به همراه تنظیمات دلخواه خودتان ایجاد کنید.
جمعبندی
ایجاد پست تایپهای سفارشی در وردپرس، به شما امکان میدهد تا محتوای خود را به طور سازماندهی شده و انعطافپذیرتر مدیریت کنید.
در این آموزش، دو روش برای ایجاد پست تایپ سفارشی را به شما آموزش دادیم:
- بدون استفاده از افزونه
- با استفاده از افزونه Custom Post Type UI
انتخاب روش مناسب به سطح دانش برنامهنویسی و نیازهای شما بستگی دارد.
نکات مهم:
- قبل از ایجاد هرگونه تغییر در فایلهای وردپرس، حتما از سایت خود بکاپ تهیه کنید.
- برای مطالعه بیشتر در مورد پست تایپهای سفارشی، میتوانید به مستندات رسمی وردپرس مراجعه کنید.
امیدواریم این آموزش برای شما مفید بوده باشد. لطفا این مطلب را برای کسی که فکر میکنید به کارش میاد ارسال کنید.
اگر آشنایی با وردپرس ندارید میتوانید دوره آموزش وردپرس را که به رایگان در بخش آموزشهای رایگان سایت موجود است شرکت نمایید.