WordPress:功能強大的CMS和插件開髮指南
WordPress Reigns Supreme是當前可用的最強大的內容管理系統(CMS)。它的靈活性和可擴展性允許以最小的努力創建複雜的網站。 這種功能主要源於其插件和主題體系結構。 官方的WordPress存儲庫擁有大約21,000個免費插件,這證明了其充滿活力的社區。儘管利用現有插件很方便,但開發自定義插件為WordPress開發人員提供了無與倫比的自定義和有利可圖的機會。本文概述了WordPress插件開發的基本方面,假設對WordPress目錄結構有基本的理解。
鍵概念
>目錄。 將插件文件放在此文件夾中。 需要一個主文件;使用連字符( - )在文件名中分開單詞(例如,)。 >
主文件必須包括以下標題註釋塊,以識別您的插件:
保存後,您的插件應出現在WordPress儀表板的插件部分中。 /wp-content/plugins/
wp-enhanced-slider.php
<?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_activation_hook
在插件激活時執行函數:<?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
handles插件停用,允許清理資源:function my_plugin_activation() { // Your activation code here } register_activation_hook(__FILE__, 'my_plugin_activation');
3。創建自定義數據庫表
>雖然WordPress的現有表具有高度適應性,但複雜的插件可能需要自定義表。 只要可行,請使用和元表進行優先級。 如果自定義表不可避免,請使用以下方法:wp_options
function my_plugin_deactivation() { // Your deactivation code here } register_deactivation_hook(__FILE__, 'my_plugin_deactivation');
優先於{$wpdb->prefix}
>
dbDelta
$wpdb->query
4。包括腳本和样式
使用>和
>用於有效的腳本和样式表包含:
wp_enqueue_script
>用於管理腳本腳本。 wp_enqueue_style
>允許將數據傳遞到您的JavaScript。
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
wp_localize_script
短代碼提供了一種簡單的方法來嵌入可重複使用的內容塊:
>使用
的過濾帖子或頁面內容:
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__)); }
7。使用Ajax
>使用和add_filter('the_content', 'my_content_filter')
操作的AJAX請求:
add_shortcode('my_shortcode', 'my_shortcode_function'); function my_shortcode_function() { return '<p>This is my shortcode!</p>'; }
8。安全SQL查詢
>始終使用準備好的語句來防止SQL注入:
wp_ajax
wp_ajax_nopriv
function my_content_filter($content) { // Modify the content here return $content; }
使用WordPress Meta Box API創建自定義選項框:
10。 nonces安全
// 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 }
使用Nonces預防跨站點請求偽造(CSRF):
以上是WordPress插件開發人員的10個必不可少的技能的詳細內容。更多資訊請關注PHP中文網其他相關文章!