สอนสร้าง Plugin WordPress (13) : ตัวอย่างการประกาศคุณสมบัติของ Custom Post Types

แชร์ ความรู้สำหรับพัฒนา plugin ของ Wordpress

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18671
Joined: 31/03/2014 10:02 am
Contact:

สอนสร้าง Plugin WordPress (13) : ตัวอย่างการประกาศคุณสมบัติของ Custom Post Types

Postby thatsawan » 25/10/2016 12:02 pm

การประกาศคุณสมบัติของ Custom Post Types หมายความว่า เราสามารถกำหนดรายละเอียดของ Post type เราได้ ยกตัวอย่างเช่น Post type ที่เราสร้างสามารถ Add ใน Menu ของ WordPress ได้หรือไม หรือ การกำหนดชื่อ Button จุดต่างๆ ให้เป็นของเราเอง

โดยมีคุณสมบัติหรือ Parameter ดังตัวอย่างนี้

ตัวอย่างการระบุชื่อชื่อของ Button ต่างๆ

Code: Select all

 $labels = array(
    'name'               => _x( 'Books', 'post type general name', 'your-plugin-textdomain' ),
    'singular_name'      => _x( 'Book', 'post type singular name', 'your-plugin-textdomain' ),
    'menu_name'          => _x( 'Books', 'admin menu', 'your-plugin-textdomain' ),
    'name_admin_bar'     => _x( 'Book', 'add new on admin bar', 'your-plugin-textdomain' ),
    'add_new'            => _x( 'Add News Demo', 'book', 'your-plugin-textdomain' ),
    'add_new_item'       => __( 'Add New Book', 'your-plugin-textdomain' ),
    'new_item'           => __( 'New Book', 'your-plugin-textdomain' ),
    'edit_item'          => __( 'Edit Book', 'your-plugin-textdomain' ),
    'view_item'          => __( 'View Book', 'your-plugin-textdomain' ),
    'all_items'          => __( 'All Books', 'your-plugin-textdomain' ),
    'search_items'       => __( 'Search Books', 'your-plugin-textdomain' ),
    'parent_item_colon'  => __( 'Parent Books:', 'your-plugin-textdomain' ),
    'not_found'          => __( 'No books found.', 'your-plugin-textdomain' ),
    'not_found_in_trash' => __( 'No books found in Trash.', 'your-plugin-textdomain' )
  ); 


Image



ตัวอย่างการใช้งาน

Code: Select all

add_action( 'init', 'codex_book_init' );

/**
 * Register a book post type.
 *
 * @link http://codex.wordpress.org/Function_Reference/register_post_type
 */
function codex_book_init() {
  $labels = array(
    'name'               => _x( 'Books', 'post type general name', 'your-plugin-textdomain' ),
    'singular_name'      => _x( 'Book', 'post type singular name', 'your-plugin-textdomain' ),
    'menu_name'          => _x( 'Books', 'admin menu', 'your-plugin-textdomain' ),
    'name_admin_bar'     => _x( 'Book', 'add new on admin bar', 'your-plugin-textdomain' ),
    'add_new'            => _x( 'Add New', 'book', 'your-plugin-textdomain' ),
    'add_new_item'       => __( 'Add New Book', 'your-plugin-textdomain' ),
    'new_item'           => __( 'New Book', 'your-plugin-textdomain' ),
    'edit_item'          => __( 'Edit Book', 'your-plugin-textdomain' ),
    'view_item'          => __( 'View Book', 'your-plugin-textdomain' ),
    'all_items'          => __( 'All Books', 'your-plugin-textdomain' ),
    'search_items'       => __( 'Search Books', 'your-plugin-textdomain' ),
    'parent_item_colon'  => __( 'Parent Books:', 'your-plugin-textdomain' ),
    'not_found'          => __( 'No books found.', 'your-plugin-textdomain' ),
    'not_found_in_trash' => __( 'No books found in Trash.', 'your-plugin-textdomain' )
  );

  $args = array(
    'labels'             => $labels,
    'description'        => __( 'Description.', 'your-plugin-textdomain' ),
    'public'             => true,
    'publicly_queryable' => true,
    'show_ui'            => true,
    'show_in_menu'       => true,
    'show_in_nav_menus' => true,
    'query_var'          => true,
    'rewrite'            => array( 'slug' => 'book' ),
    'capability_type'    => 'post',
    'has_archive'        => true,
    'hierarchical'       => false,
    'menu_position'      => null,
    'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
  );

  register_post_type( 'book', $args );



คำอธิบายเพิ่มเติม
จากตัวอย่างเราได้กำหนด

Code: Select all

   'show_in_nav_menus' => true

มีความหมายว่าต้องการให้ Menu สามารถถึงข้อมูลจาก Post Type เราไปใช้งานได้ นั้นเอง
Image


ศึกษาเพิ่มเติมได้ที่นี่
https://codex.wordpress.org/Function_Re ... _post_type

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21798
Joined: 22/09/2008 6:18 pm
Contact:

Re: สอนสร้าง Plugin WordPress (13) : ตัวอย่างการประกาศคุณสมบัติของ Custom Post Types

Postby mindphp » 25/10/2016 9:48 pm

รวมกระทู้ บทความสอนสร้าง Plugin WordPress
viewtopic.php?f=225&t=36079
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


Return to “Wordpress Developing Knowledge”

Who is online

Users browsing this forum: No registered users and 1 guest