2017-04-27 61 views
0

我正在研究一個名爲PointFinder的WordPress安裝。用戶發佈的項目會在某個預定義的時間段後被刪除。我的目標是禁用此行爲。我已經找到相應的代碼行,並取消激活add_action掛鉤,該掛鉤觸發schedule-config.php中的週期性調用功能pointfinder_clean_pending_orders(),該功能暫時可以正常工作。如何安全地刪除子主題中的動作鉤子?

add_action('pointfinder_schedule_hooks_hourly', 'pointfinder_clean_pending_orders'); // <--- commented out this line 

function pointfinder_clean_pending_orders() { 
    /* code that cleans-up ... */ 
} 

如何在我的孩子主題中實現停用?如果我簡單地在我的孩子主題中添加一個remove_actionfunctions.php,那會起作用嗎?我不確定首先會叫什麼,add_actionschedule-config.php或我的remove_actionfunctions.php

我只能訪問生產性服務器和沒有測試環境,因此我對實驗有點不情願。

回答

1

試試這個:

add_action('init','remove_hourly_hook'); 
function remove_hourly_hook() { 
    remove_action('pointfinder_schedule_hooks_hourly', 'pointfinder_clean_pending_orders'); 
} 

這樣做是什麼WordPress的初始化後(不管的functions.php的順序被調用),它將然後刪除的操作。

現在,如果最初的add_action在自己的鉤子中,您將需要確保您的鉤子'init'被更改爲事後發生。

+0

感謝您的回答!根據https://codex.wordpress.org/Function_Reference/remove_action,沒有隻有一個參數的'remove_action'方法簽名。而且,我沒有太多的實驗空間,因爲我只能訪問高效的網頁。不幸的是,沒有可用的測試環境,因此我需要非常肯定它會起作用,否則我將通過定期刪除算法來釋放更多數據。 – salocinx

+0

修復了具有正確方法用法的答案。 –

+0

非常感謝你:)我會試試這個。 – salocinx

相關問題