
وردپرس در حالت اولیه از پنج نوع پست تایپ (نوشته، برگه، ضمیمه، رونوشت، فهرست) استفاده می کند که به هنگام طراحی افزونه می توانید از آنها استفاده کنید. اما گاهی اوقات پیش می آید که بخواهید برای خودتان پست تایپ سفارشی ایجاد کنید.
اضافه کردن پست تایپ
برای ایجاد پست تایپ جدید می توانید از تابع register_post_type() استفاده کنید. به مثال زیر توجه کنید:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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' => __( 'محصولات' ), 'singular_name' => __( 'محصول' ) ), 'public' => true, 'has_archive' => true, ) ); } |
کدهای فوق یک پست تایپ جدید برای محصولات اضافه می کنند. آرگومان هایی که در اینجا برای این تابع استفاده شد:
پیشنهاد می کنیم افزایش سئو وردپرس با پیکربندی صحیح افزونه All In One Seo Pack – بخش دوم– تنظیمات عمومی
توجه: تابع register_post_type() را باید قبل از هوک های admin_menu و بعد از after_setup_theme استفاده کنید.
تمرین برای انتخاب نام
انتخاب نام برای پست تایپ ها بسیار مهم است. برای مثال در کدهای بالا ما از acme_product استفاده کردیم. کلمه acme پیشوندی است که باعث می شود تا امکان تداخل نامی به وجود نیاید. به عبارتی اگر بخواهید از کلمه عام مانند product استفاده کنید، آن موقع این احتمال وجود دارد که این نام به دلیل به کار گیری در افزونه های دیگر دچار مشکل تداخل شود.
چند نکته:
آدرس URL
اگر بخواهیم که پست تایپ های سفارشی که ایجاد می کنیم، از طریق یک آدرس URL خاص در دسترس باشند، آن موقع باید آدرس آنها را نیز مشخص کنیم. بدین منظور به همان مثال بالایی دستور مربوط به آدرس را اضافه می کنیم:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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' => __( 'محصولات' ), 'singular_name' => __( 'محصول' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'products'), ) ); } |
با بررسی کدها می توانید متوجه شود که تنها دستور زیر اضافه شده است:
‘rewrite’ => array(‘slug’ => ‘products’),
در نهایت نتیجه کار به حالت زیر درخواهد آمد:
http://example.com/products/%product_name%
برچسب:
نویسنده: محمد رضا جوادیان