
ایجاد انواع نوشته سفارشی یا Custom Post Type در وردپرس بهزاد عابدین زاده Rating: 5.0 out of 5
وردپرس به صورت پیش فرض ۵ نوع نوشته دارد : پست ها ، صفحات ، ضمیمه ها ، رونوشت ها و منو ها.
اما شما می توانید با استفاده از توابع مربوطه انواع نوشته خود را ایجاد کنید و از آنها استفاده کنید.
در این مطلب به طور خلاصه نحوه انجام این کار را بررسی می کنیم.
برای ایجاد یک نوع نوشته سفارشی ( custom post type ) باید از تابع register_post_type استفاده کنید.
نکته: توجه داشته باشید که شما باید از تابع register_post_type قبل از admin_menu و بعد از after_theme_setup استفاده کنید.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
add_action( 'init', 'create_post_type' ); //Registers the Product's post type function create_post_type() { register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true, 'has_archive' => true, ) ); |
با کد بالا می توانیم یک نوع نوشته سفارشی به نام Product ایجاد کنیم.که در پایگاه داده با نام acme_product ذخیره می شود. این تابع چند تنظیم مهم دارد:
labels : نام نمایشی نوع نوشته را به صورت مفرد و جمع مشخص می کند شما می توانید موارد بیشتری به labels از قبیل عنوان مربوط به نوشته جدید یا اصلاح یا حذف نوشته را نسبت دهید.
public : مشخص می کند که آیا منوهای مربوط به این نوع نوشته در دسترس عموم کاربران سایت قرار می گیرید یا نه و همچنین در منوی پنل مدیریت ودرپرس نمایش داده بشود یا خیر.
پیشنهاد می کنیم ایجاد نشانگر صفحه یا breadcrumb در وردپرس بدون افزونه
has_archive : مشخص می کند که آیا این نوع نوشته می تواند در قالب صفحه آرشیو مربوط به خود را داشته باشد یا نه.
ملاحضات نام گذاری:
با استفاده از خاصیت rewrite و slug می توانید URL مربوطه به نوع نوشته سفارشی خود را تغییر دهید. مانند مثال زیر:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'products'), ) ); } |
برچسب:
نویسنده: محمد رضا جوادیان