Lập trình plugin wordpress

  -  

WordPress ngoại trừ phần vi xử lý core ra thì có 2 yếu tố rất quan trọng đặc biệt đó là Theme và Plugin. Hai thành phần này góp developer xây dựng hoàn hảo một trang web WordPress. Nội dung bài viết này bọn họ sẽ được giới thiệu, tạo một plugin cho WordPress.

Bạn đang xem: Lập trình plugin wordpress

WordPress Plugin là gì?

WordPress Plugin là một gói mã code giúp không ngừng mở rộng các tính năng của website được xây dựng bởi mã mối cung cấp mở WordPress. Chúng rất có thể thêm những thành phần đồ họa bằng câu hỏi thêm những file style, javascript.

Xây dựng một WordPress Plugin

Bước 1: chế tác thư mục đến plugin

Một plugin của WordPress là 1 trong những thư mục được để ở thư mục //wp-content/plugins/

VD: Mình tạo ra một plugin DMCA Reports với công dụng là cho những người dùng gởi các report về các nội dung bài viết vi phạm. Mình sẽ tạo nên 1 thư mục mang lại plugin với đường truyền là //wp-content/plugins/dmca-report/

*

Bước 2: tạo thành file main của plugin.

Trong folder của plugin vừa chế tạo ở trên, bạn cần tạo file một file main cất source code của plugin. File main này đang include những thành phần của plugin như các file php, js, css khác. Tên của tệp tin main là do bạn đưa ra quyết định nhưng thông thường nó chính là tên của plugin. VD: dmca-reports.php

File main bắt buộc phải chưa phần Doc Block chứa những thông tin khai báo mang lại plugin.

Tạo tệp tin //wp-content/plugins/dmca-report/dmca-report.php với câu chữ như sau:

Nó đã hiển thị thông tin trong phần thiết lập plugin sống < Settings > => < Plugins >

*

Để kích hoạt chúng ta bấm < Active >. Plugin sẽ được kích hoạt thành công.

Đó là cách cơ bạn dạng để chế tác một plugin mang lại WordPress nhưng đặc biệt nhất vẫn chính là nội dung plugin của khách hàng như thế nào? Ở đây mình muốn xây dựng 1 plugin cho vấn đề báo cáo bạn dạng quyền DMCA để người tiêu dùng có thể báo cáo lại các nội dung bài viết trên website của người tiêu dùng đã vi phạm bạn dạng quyền.

Ở tệp tin //wp-content/plugins/dmca-report/dmca-report.php mình gồm đoạn code load các file và thư mục mà sẽ tiến hành sử dụng trong plugin

Bước 2: tạo thành database mang lại plugin.

Xem thêm: Top 20 Cách Tìm File Pdf Trên Google Search Để Tìm Kiếm Chính Xác, Hiệu Quả

Mình sẽ tạo nên một database được thiết kế với như sau:

*

Tạo 1 file php có băng thông //wp-content/plugins/dmca-report/src/database/dmca-report-table.php đựng đoạn code chế tác database.

prefix . "dmca_report_links"; // Charset Collate $charsetCollate = $wpdb->get_charset_collate(); // Run SQL require_once ABSPATH . "wp-admin/includes/upgrade.php"; dbDelta( " CREATE TABLE $tableName ( `report_link_id` bigint(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, `post_id` bigint(20) UNSIGNED NOT NULL, `post_title` tinytext COLLATE utf8mb4_unicode_ci NOT NULL, `post_link` tinytext COLLATE utf8mb4_unicode_ci NOT NULL, `report_date` datetime NOT NULL, `report_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `report_email` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `report_content` text COLLATE utf8mb4_unicode_ci NOT NULL, `report_ip_address` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `user_agent` text COLLATE utf8mb4_unicode_ci NOT NULL, `ignored` tinyint(1) UNSIGNED NOT NULL mặc định "0", `deleted_at` datetime mặc định NULL ) ENGINE=InnoDB $charsetCollate; " ); // add index $wpdb->query("ALTER TABLE $tableName địa chỉ KEY `post_id_idx` (`post_id`);"); // showroom option add_option( "dmca_report_db_version", $dmcaReportDbVersion );}Ở file main của plugin //wp-content/plugins/dmca-report/dmca-report.php thêm đoạn hook sau:

register_activation_hook( __FILE__, "dmcaReportInstall" );Đoạn hook này sẽ tiến hành kích hoạt call đến function xử lý tạo database khi chúng ta bấm active 1 plugin.

Bước 3: tạo nên một button ngơi nghỉ trang bài viết để report DMCA

Mình sản xuất thêm 2 folder trong plugin là /src/includes là nhúng những file xử lý php vào, với thư mục /src/views nhằm chứa giao diện hiển thị.

*

Sau kia mình sản xuất file /src/includes/functions.php để xử trí đoạn code hiển thị sau:

// add button to lớn post contentadd_filter( "the_content", function ($content) ob_start(); include(DMCA_REPORT_PATH . "src/views/dmca-button.php"); return $content . Ob_get_clean();, 1 );Và chế tạo ra một file template cho button /src/views/dmca-button.php

/dmca//">DMCA ReportNó sẽ hiển thị button dmca trong bài viết:

*

Bước 3: sinh sản 1 page cất form để report bài xích viết.

Tạo file src/includes/rewrite.php gồm nội dung như sau:

// địa chỉ cửa hàng rule for dmca pageadd_action( "init", function () flush_rewrite_rules(); add_rewrite_rule( "dmca/(<0-9>+)/?$", "index.php?pagename=dmca&dmca_report_post_id=$matches<1>", "top" ); );// add query varadd_filter( "query_vars", function ($query_vars) $query_vars<> = "dmca_report_post_id"; return $query_vars;);// Modify include urladd_filter( "template_include", function ($template) if (get_query_var("dmca_report_post_id")) return DMCA_REPORT_PATH . "src/views/dmca-report-form.php"; return $template;);Và tệp tin template src/views/dmca-report-form.php

Report URL: ID); ?>

Name:

Message:

ID; ?>">

Nó sẽ tạo ra một form giống như là:

*

Bước 4: Tạo giải pháp xử lý update dữ liệu vào database WordPress

Sửa file src/includes/functions.php thêm đoạn code sau:

// Update data for dmcaadd_action("init", function () global $wpdb; if (isset($_POST<"dmca_report_submit">)) // get Post ID $postId = intval($_POST<"post_id">); if ($postId > 0) // Get Post $post = get_post($postId); if ($post) $data = < "post_id" => $postId, "post_title" => $post->post_title, "post_link" => get_permalink($postId), "report_date" => current_time("Y-m-d H:i:s"), "report_name" => sanitize_text_field($_POST<"report_name">), "report_email" => sanitize_email($_POST<"report_email">), "report_content" => sanitize_textarea_field($_POST<"report_content">), "report_ip_address" => $_SERVER<"REMOTE_ADDR"> ?? "", "user_agent" => $_SERVER<"HTTP_USER_AGENT"> ?? "", >; $table = $wpdb->prefix . "dmca_report_links"; // Insert to lớn database $wpdb->insert($table, $data); );Sau khi submit khung đoạn code này vẫn lưu vào database.

Xem thêm: Đăng Ký Tài Khoản Gmail Trên Điện Thoại, Tạo Tài Khoản Gmail

Kết luận

Ở bài viết này tôi chỉ hướng dẫn giải pháp xây dựng 1 plugin với thao tác làm việc cơ bản như sửa 1 chức năng của WordPress, sản xuất giao diện, tạo nên và update database. Nó vẫn chưa hoàn hảo nên bạn hãy cải tiến và phát triển thêm.