2016-04-26 43 views
0

我正在編寫我的第一步編碼。我在互聯網上開了一些課程,現在我開始製作一個Wordpress主題,以繼續從實踐中學習。關於編輯Wordpress插件源代碼的風險

我發現有很多的插件,可以幫助我實現我想要的目標,我還發現了一個插件,它幾乎是我想要的一切。

我開始改變了插件的源代碼,以便它可以在我的設計方案配合。現在我不知道這是不是一個好主意。

我沒有找到一種方法,使「兒童插件」所以在這個時刻,我不知道是否繼續編輯這個插件的源,(這意味着我永遠不會更新我的插件,因爲我會失去所有的修改)或簡單地做我自己的一切,這將花費我更多的時間。

你有什麼建議嗎?

回答

3

你應該看看鉤子和過濾器的世界。

This是不錯的地方學習借鑑。 Here是WP鉤子的列表,您可以在其中鉤住您的代碼。

而且Woocommerce鉤例如如何cusom驗證領域。

第一部分:woocommerce_checkout_process是地方掛鉤代碼和my_custom_checkout_field_process是你的函數的名稱。

/** 
* Process the checkout 
*/ 
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process'); 

function my_custom_checkout_field_process() { 
    // Check if set, if its not set add an error. 
    if (! $_POST['my_field_name']) 
     wc_add_notice(__('Please enter something into this new shiny field.'), 'error'); 
} 

一些插件有模板文件,你可以把它放到子主題中。 但可悲的是,並非所有的插件都可以很好地定製。

+0

這是驚人的瑪格斯,非常感謝你!所以這意味着我可以使用鉤子修改我的插件,並且可以向它添加類來修改css? –

+0

使用鉤子,您可以將您的代碼「鉤」到其他代碼中。但是爲了覆蓋整個插件函數,我首先刪除了現有的函數,如: remove_action('hook_connected_with','function_you_want_to_overwrite');然後 add_action('hook_connected_with','your_function'); 函數your_function(){/ *您的代碼* /} hook_connected_with可以在插件文件中找到或者在任何被調用的地方找到,如: do_action('hook_connected_with','function_you_want_to_overwrite');如果還有更好的方法我也想知道,但這正是我一直在使用的。 (難以閱讀評論中的代碼..) –

+0

PS:上面的代碼應該進入兒童主題的functions.php文件。 –