要寫外掛就得先搞清楚add_action這個函數
它讓我們的WordPress知道在甚麼時候該呼叫我們外掛中的函數
試用的語法如下:
<?php add_action( $tag, $function_to_add, $priority, $accepted_args ); ?> |
- $tag表示狀況
- $function_to_add表示呼叫函數
- $priority表示函數的重要程度
- $accepted_args表示函數需要的參數
其中$priority跟$accepted_args不是必要參數就先不管他了
其實我覺得add_action好像有點像是AS中的addEventListener
$tag就是ENENT,而$function_to_add當然就是對應處理EVENT的函數
關於可用的$tag詳情要參考一下WordPress.org的Plugin API/Action Reference
或是有興趣看日文版的也很OK~
WordPress.org中的範例是希望在我們發表新文章時可以同時發一封MAIL通知朋友:
function email_friends($post_ID) { $friends = 'bob@example.org, susie@example.org'; mail($friends, "sally's blog updated" , 'I just put something on my blog: http://blog.example.com'); return $post_ID; } add_action('publish_post', 'email_friends'); |
有沒有越看越像addEventListener哩!?
不同的大概就在於add_action的處理函數接的並不是一個EVENT
而是因$tag而不同的參數
比如’publish_post’丟入的參數是$post_ID
而’wp_head ‘就不會傳參數…但他傳回的直就會出現在我們wordpress的head標籤中間…
在WP2.7後一般開啟wordpress時會執行觸發的順序如下:
- plugins_loaded
- sanitize_comment_cookies
- setup_theme
- auth_cookie_malformed
- auth_cookie_valid
- set_current_user
- init
- widgets_init
- parse_request
- send_headers
- pre_get_posts
- posts_selection
- wp
- template_redirect
- get_header
- wp_head
- wp_print_styles
- wp_print_scripts
- loop_start
- loop_end
- get_sidebar
- wp_meta
- get_footer
- wp_footer
好好的觀察跟利用
相信對開發WP外掛會有不小的幫助哩!!
文章寫得很好!
申請做交換連結?
http://noob.isgreat.org/blog
順便幫按讚..謝謝:))
謝寫妳!但是我沒有再你的BLOG看到我的連結耶!
有了吧:)?
OK!我加上去囉!歡迎指教^^
怎麼沒看到@@
有阿!在http://justfly.idv.tw/friendslink可以看到
右邊的是亂數產生的!
通告: 「WordPress」嘗試來學習學習 WordPress 外掛程式的製作方法 - NewBSD
太難了…我都是在要用外掛時才去了解怎麼加入CODE就好了…其他的就….
呵呵 可以殺點時間啦^^”
php
我在學時已錯過這個年代!@@
快揀回來喔~~