Cách tạo một plugin WordPress đơn giản – Học WordPress từ a đến z

Ngày đăng : 13 – 02 – 2022
Lượt xem : 349 lượt

WordPress là một hệ thống quản lý nội dung (content management system – CMS) miễn phí, mã nguồn mở. Và phần tốt nhất của WordPress là khá dễ mở rộng. Nhờ các plugin, bạn có thể mở rộng thêm nhiều chức năng hơn so với ban đầu. Các plugin cho phép bạn thêm các chức năng bổ sung như SEO, eCommerce, bảo mật,…

Cách tạo plugin WordPress đơn giản

Và thời điểm ngày hôm nay, mình muốn hướng dẫn những bạn tạo một plugin WordPress đơn thuần. Nếu bạn tăng trưởng một plugin của riêng bản thân mình, thì hãy mở màn thôi !

Kiến thức cơ bản

Trước khi khởi đầu, bạn hãy bảo vệ rằng mình có kiến thức và kỹ năng về PHP. Điều này sẽ giúp ích rất nhiều nếu bạn có kế hoạch viết nhiều plugin hơn trong tương lai .
Ngoài ra, bạn còn cần phải có thêm kiến thức và kỹ năng về CSS và JS. Thêm vào đó bạn cần phải làm quen với những tiêu chuẩn lập trình của WordPress .
Hãy yên tâm, đó là một đoạn đường dài. Hôm nay tất cả chúng ta không tham gia vào những thứ phức tạp đó. Mình sẽ chỉ cho bạn cách viết một plugin đơn thuần và san sẻ một số ít công cụ và tài nguyên sẽ giúp việc làm của bạn trở nên thuận tiện .

Cách để viết một plugin cơ bản

Mỗi plugin WordPress đều có những file chính mà bạn phải tạo một cách bằng tay thủ công. Tuy nhiên để tiết kiệm ngân sách và chi phí thời hạn, mình sẽ hướng dẫn bạn tạo một thư mục plugin một cách tự động hóa bằng Pluginplate .

Tạo plugin WordPress với Pluginplate

Đầu tiên, hãy truy vấn vào Pluginplate, vào nhấp vào nút “ Create Your Plugin ” .
Tiếp theo hãy điền thông tin plugin của bạn như hình bên dưới. Về phía cuối trang, bạn sẽ thấy phần “ Modules ” được cho phép bạn thêm những tính năng bổ trợ vào plugin của mình. Sau đó nhấn nút “ Generate Plugin ” .

Sau đó nhấn vào nút “ Download ” để tải về máy tính của bạn .

Bây giờ, chúng ta đã có tất cả các file cơ bản, bao gồm cả file chính. Việc tiếp theo là chúng ta phải thêm code để thực thi các chức năng khi plugin được kích hoạt. Dựa trên ví dụ của mình, file chính của plugin mình là hocwordpress.php. Đây là file mà mình sẽ chỉnh sửa ở phần tiếp theo.

Thêm tính năng cho plugin

Đầu tiên, hãy giải nén thư mục mà bạn đã tải về máy tính từ Pluginplate. Bên trong thư mục bạn sẽ thấy file chính, file chính của plugin mình là hocwordpress.php.

Bên trong thư mục plugin, bạn hoàn toàn có thể thấy một loạt những file khác nhưng tất cả chúng ta không cần những file đó vào lúc này .
Bây giờ mình sẽ mở file hocwordpress.php lên .

php
/**
 * hocwordpress
 *
 * @package       HOCWORDPRE
 * @author        Huy Kira
 * @license       gplv2
 * @version       1.0.0
 *
 * @wordpress-plugin
 * Plugin Name:   hocwordpress
 * Plugin URI:    https://final-blade.com/
 * Description:   This is some demo short description...
 * Version:       1.0.0
 * Author:        Huy Kira
 * Author URI:    [email protected]
 * Text Domain:   hocwordpress
 * Domain Path:   /languages
 * License:       GPLv2
 * License URI:   https://www.gnu.org/licenses/gpl-2.0.html
 *
 * You should have received a copy of the GNU General Public License
 * along with hocwordpress. If not, see .
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) exit;

/**
 * HELPER COMMENT START
 * 
 * This file contains the main information about the plugin.
 * It is used to register all components necessary to run the plugin.
 * 
 * The comment above contains all information about the plugin 
 * that are used by WordPress to differenciate the plugin and register it properly.
 * It also contains further PHPDocs parameter for a better documentation
 * 
 * The function HOCWORDPRE() is the main function that you will be able to 
 * use throughout your plugin to extend the logic. Further information
 * about that is available within the sub classes.
 * 
 * HELPER COMMENT END
 */

// Plugin name
define( 'HOCWORDPRE_NAME', 'hocwordpress' );

// Plugin version
define( 'HOCWORDPRE_VERSION', '1.0.0' );

// Plugin Root File
define( 'HOCWORDPRE_PLUGIN_FILE', __FILE__ );

// Plugin base
define( 'HOCWORDPRE_PLUGIN_BASE', plugin_basename( HOCWORDPRE_PLUGIN_FILE ) );

// Plugin Folder Path
define( 'HOCWORDPRE_PLUGIN_DIR', plugin_dir_path( HOCWORDPRE_PLUGIN_FILE ) );

// Plugin Folder URL
define( 'HOCWORDPRE_PLUGIN_URL', plugin_dir_url( HOCWORDPRE_PLUGIN_FILE ) );

/**
 * Load the main class for the core functionality
 */
require_once HOCWORDPRE_PLUGIN_DIR. 'core/class-hocwordpress.php';

/**
 * The main function to load the only instance
 * of our master class.
 *
 * @author  Huy Kira
 * @since   1.0.0
 * @return  object|Hocwordpress
 */
function HOCWORDPRE() {
	return Hocwordpress::instance();
}

HOCWORDPRE();
Đoạn code trên sẽ cho WordPress biết tên của plugin cũng như phiên bản, tác giả, giấy phép và các chi tiết khác.

Ngay bên dưới đoạn code trên, hay thêm đoạn code sau :
// Register Custom Post Type
function custom_post_type() {

	$labels = array(
		'name'                  => _x( 'Khoá học', 'Post Type General Name', 'hocwordpress' ),
		'singular_name'         => _x( 'Khoá học', 'Post Type Singular Name', 'hocwordpress' ),
		'menu_name'             => __( 'Khoá học', 'hocwordpress' ),
		'name_admin_bar'        => __( 'Khoá học', 'hocwordpress' ),
		'archives'              => __( 'Item Archives', 'hocwordpress' ),
		'attributes'            => __( 'Item Attributes', 'hocwordpress' ),
		'parent_item_colon'     => __( 'Parent Item:', 'hocwordpress' ),
		'all_items'             => __( 'Tất cả khoá học', 'hocwordpress' ),
		'add_new_item'          => __( 'Thêm khoá học', 'hocwordpress' ),
		'add_new'               => __( 'Add New', 'hocwordpress' ),
		'new_item'              => __( 'New Item', 'hocwordpress' ),
		'edit_item'             => __( 'Edit Item', 'hocwordpress' ),
		'update_item'           => __( 'Update Item', 'hocwordpress' ),
		'view_item'             => __( 'View Item', 'hocwordpress' ),
		'view_items'            => __( 'View Items', 'hocwordpress' ),
		'search_items'          => __( 'Search Item', 'hocwordpress' ),
		'not_found'             => __( 'Not found', 'hocwordpress' ),
		'not_found_in_trash'    => __( 'Not found in Trash', 'hocwordpress' ),
		'featured_image'        => __( 'Featured Image', 'hocwordpress' ),
		'set_featured_image'    => __( 'Set featured image', 'hocwordpress' ),
		'remove_featured_image' => __( 'Remove featured image', 'hocwordpress' ),
		'use_featured_image'    => __( 'Use as featured image', 'hocwordpress' ),
		'insert_into_item'      => __( 'Insert into item', 'hocwordpress' ),
		'uploaded_to_this_item' => __( 'Uploaded to this item', 'hocwordpress' ),
		'items_list'            => __( 'Items list', 'hocwordpress' ),
		'items_list_navigation' => __( 'Items list navigation', 'hocwordpress' ),
		'filter_items_list'     => __( 'Filter items list', 'hocwordpress' ),
	);
	$args = array(
		'label'                 => __( 'Khoá học', 'hocwordpress' ),
		'description'           => __( 'Quản lý khoá học', 'hocwordpress' ),
		'labels'                => $labels,
		'supports'              => array( 'title', 'editor', 'thumbnail', 'comments', 'revisions' ),
		'hierarchical'          => false,
		'public'                => true,
		'show_ui'               => true,
		'show_in_menu'          => true,
		'menu_position'         => 5,
		'menu_icon'             => 'dashicons-welcome-learn-more',
		'show_in_admin_bar'     => true,
		'show_in_nav_menus'     => true,
		'can_export'            => true,
		'has_archive'           => true,
		'exclude_from_search'   => false,
		'publicly_queryable'    => true,
		'capability_type'       => 'page',
	);
	register_post_type( 'khoa_hoc', $args );

}
add_action( 'init', 'custom_post_type', 0 );

Đoạn code trên chỉ đơn thuần là tạo một custom post type có tên “ Khóa học ”. Và post type này sẽ tương hỗ những tính năng như trích dẫn, ảnh đại diện thay mặt, phản hồi, custom field … Đây là những tính năng bạn sẽ thấy bên trong trình chỉnh sửa bài đăng khi thêm một khóa học mới .

Cài đặt plugin lên trang WordPress của bạn

Lưu toàn bộ đổi khác của bạn. Sau đó nén thư mục plugin của bạn thành một file có đuôi. ZIP. Tiếp theo truy vấn vào trang WordPress của bạn và thiết lập nó như những plugin khác .

Bây giờ, nếu bạn kiểm tra menu quản trị WordPress, bạn sẽ thấy post type mới là “ Khóa học ” .
Chúc mừng bạn đã tạo thành công xuất sắc một plugin WordPress tiên phong cho riêng mình ! Ngoài ra, bạn hoàn toàn có thể tự điều tra và nghiên cứu code của những plugin khác ( tổng thể những plugin WordPress đều là mã nguồn mở ) .
Ngoài ra, hãy đọc tài liệu Plugin Handbook của WordPress. Tài liệu này sẽ chứa toàn bộ những gì bạn cần tương quan đến việc tạo plugin WordPress .

Lời kết

Lập trình plugin WordPress thoạt đầu có vẻ như đáng sợ, đặc biệt quan trọng là khi mới khởi đầu. Nhưng với những công cụ tương thích và 1 số ít tài nguyên học tập, bạn hoàn toàn có thể tăng trưởng những plugin ngay lập tức. Chỉ cần kiến thức và kỹ năng lập trình cơ bản và quyết tâm, bạn đã đi được nửa chặng đường .
Mình kỳ vọng bài viết này sẽ đóng vai trò như một bước đệm để bạn tăng trưởng những plugin WordPress phức tạp hơn trong tương lai. Hãy xem những tài liệu mà mình đã yêu cầu ở trên để nâng cao kiến ​ ​ thức của bạn về tăng trưởng plugin WordPress nhé .
Nếu những bạn thấy hay hoàn toàn có thể theo dõi phân mục Thủ thuật WordPress và follow fanpage để biết thêm nhiều kỹ năng và kiến thức mới nha .

1
1
vote

Đánh giá bài viết