WordPress: Panduan Pembangunan CMS dan Plugin yang kuat
WordPress Reigns Supreme sebagai Sistem Pengurusan Kandungan Paling Kukuh (CMS) yang kini tersedia. Fleksibiliti dan kelanjutannya membolehkan penciptaan laman web yang canggih dengan usaha yang minimum. Kuasa ini sebahagian besarnya dari plugin dan arsitektur temanya. Repositori WordPress rasmi menawarkan kira -kira 21,000 plugin percuma, bukti kepada komuniti yang bersemangat. Semasa memanfaatkan plugin sedia ada adalah mudah, membangunkan plugin tersuai menawarkan penyesuaian dan peluang yang tidak dapat ditandingi untuk pemaju WordPress. Artikel ini menggariskan aspek penting pembangunan plugin WordPress, dengan mengandaikan pemahaman asas mengenai struktur direktori WordPress.
Konsep Utama
Mulailah dengan membuat folder plugin baru dalam direktori
. Letakkan fail plugin anda di dalam folder ini. Fail utama diperlukan; Gunakan tanda hubung (-) untuk memisahkan kata-kata dalam nama fail (mis.,
/wp-content/plugins/
Fail utama mesti memasukkan blok komen pengepala berikut untuk WordPress untuk mengenali plugin anda: wp-enhanced-slider.php
selepas menyimpan, plugin anda harus muncul di bahagian plugin WordPress Dashboard.
<?php /* Plugin Name: Sample Plugin Plugin URI: https://yourwebsite.com/sample-plugin Description: A brief description of your plugin. Version: 1.0 Author: Your Name Author URI: https://yourwebsite.com License: GPL2 */ ?>
2. Pengaktifan Plugin dan Deactivation
Mengaktifkan plugin biasanya dilakukan melalui papan pemuka. Plugin mudah tidak memerlukan pengendalian khas. Walau bagaimanapun, plugin lanjutan mungkin perlu memulakan pilihan, membuat jadual, dan lain -lain, semasa pengaktifan. 3. Mewujudkan Jadual Pangkalan Data Kustom Walaupun jadual sedia ada WordPress sangat mudah disesuaikan, plugin kompleks mungkin memerlukan jadual tersuai. Prioriti menggunakan Jadual ingat untuk menggunakan 4. Termasuk skrip dan gaya Gunakan Gunakan 5. Shortcodes shortcode menyediakan cara mudah untuk membenamkan blok kandungan yang boleh diguna semula: 6. Penapisan Kandungan Penapis Kandungan Pos atau Halaman Menggunakan 7. Bekerja dengan Ajax mengendalikan permintaan AJAX menggunakan 8. Secure SQL Queries Sentiasa gunakan pernyataan yang disediakan untuk mengelakkan suntikan SQL: 9. Menambah kotak pilihan Buat kotak pilihan tersuai menggunakan API Meta Box WordPress: 10. Nonces untuk keselamatan Gunakan nonces untuk mengelakkan pemalsuan permintaan lintas tapak (CSRF): Panduan yang diperluaskan ini memberikan gambaran yang lebih komprehensif mengenai aspek utama dalam pembangunan plugin WordPress. Ingatlah untuk berunding dengan Codex WordPress rasmi untuk maklumat dan amalan terbaik yang paling terkini.
register_activation_hook
untuk melaksanakan fungsi apabila pengaktifan plugin: <?php
/*
Plugin Name: Sample Plugin
Plugin URI: https://yourwebsite.com/sample-plugin
Description: A brief description of your plugin.
Version: 1.0
Author: Your Name
Author URI: https://yourwebsite.com
License: GPL2
*/
?>
register_deactivation_hook
mengendalikan penyahaktifan plugin, yang membolehkan pembersihan sumber: function my_plugin_activation() {
// Your activation code here
}
register_activation_hook(__FILE__, 'my_plugin_activation');
wp_options
dan meta setiap kali boleh dilaksanakan. Jika jadual tersuai tidak dapat dielakkan, gunakan pendekatan berikut: function my_plugin_deactivation() {
// Your deactivation code here
}
register_deactivation_hook(__FILE__, 'my_plugin_deactivation');
{$wpdb->prefix}
untuk memastikan keserasian merentasi pemasangan WordPress yang berbeza. dbDelta
lebih disukai daripada $wpdb->query
kerana ia mengendalikan perbandingan jadual sedia ada. wp_enqueue_script
dan wp_enqueue_style
untuk skrip yang cekap dan kemasukan stylesheet: global $wpdb;
$wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}my_custom_table");
$sql = "CREATE TABLE {$wpdb->prefix}my_custom_table (
id INT(11) NOT NULL AUTO_INCREMENT,
// ... your table columns ...
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
admin_enqueue_scripts
untuk skrip sisi admin. wp_localize_script
Membolehkan data lulus ke javascript anda. add_action('wp_enqueue_scripts', 'my_plugin_scripts');
function my_plugin_scripts() {
wp_enqueue_script('my-custom-script', plugins_url('my-script.js', __FILE__), array('jquery'));
wp_enqueue_style('my-custom-style', plugins_url('my-style.css', __FILE__));
}
add_filter('the_content', 'my_content_filter')
: add_shortcode('my_shortcode', 'my_shortcode_function');
function my_shortcode_function() {
return '<p>This is my shortcode!</p>';
}
wp_ajax
dan wp_ajax_nopriv
tindakan: function my_content_filter($content) {
// Modify the content here
return $content;
}
// JavaScript (using jQuery)
jQuery.post(ajaxurl, {action: 'my_ajax_action'}, function(response) {
// Handle the response
});
// PHP
add_action('wp_ajax_my_ajax_action', 'my_ajax_action_callback');
add_action('wp_ajax_nopriv_my_ajax_action', 'my_ajax_action_callback');
function my_ajax_action_callback() {
// Process the Ajax request
wp_die(); // Important: terminate the Ajax request
}
$wpdb->prepare("SELECT * FROM {$wpdb->prefix}my_table WHERE id = %d", $id);
add_action('add_meta_boxes', 'add_my_custom_box');
function add_my_custom_box() {
add_meta_box('my_custom_box', 'My Custom Box', 'render_my_custom_box', 'post', 'normal', 'high');
}
function render_my_custom_box($post) {
// ... your custom form fields ...
}
Atas ialah kandungan terperinci 10 Kemahiran Must-Know untuk Pemaju Plugin WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!