在 WordPress 中是透過 hook 來組成整個架構,開發人員可以藉由 hook 來不去修改核心程式碼的內容來增加或刪除想要的功能。

這邊先來講一下我們該怎麼使用 hook 裡的 action。

add_action()

add_action 是用來增加功能到 WP 內建的 function 內的,比如我們要在 wp_head() 裡加上一段 code,就可以這樣寫:

function hook_css() {
    ?>
        <style>
            body {
                background-color : #f1f1f1;
            }
        </style>
    <?php
}
add_action('wp_head', 'hook_css');

這樣就會看到在 head 內多了一段我們自訂的 CSS。

 

remove_action()

可以增加就也可以減少,我們一樣可以透過 remove_action() 來移除內建的用不到的 function:

remove_action("wp_head", "wp_generator");

這樣我們就能移除 wp_head 裡的 wp_generator 做的事情,而且不影響到核心的 code。

 

has_action()

用來判斷某個 action 是否有被執行過,像是:

if ( has_action( 'wp_head' ) ) {
       echo '設定了';
}

 

就了解我們不要去直接修改 WP 的原始碼,而是善用 hook action 來幫助我們調整功能。

add_action()

has_action()