首先,我已閱讀「Override default php function」,名稱空間不滿足我的需要。我也研究過PHP.net's override_function(),但那也無法幫助我解決我的問題。我可以重寫在另一個文件/插件中調用的PHP函數嗎?
我使用稱爲Jigoshop的Wordpress插件作爲電子商務解決方案,但在某些情況下,我無法刪除我需要將自己的結構應用到「單個產品」頁面的操作。我不想編輯插件文件本身,因爲插件更新可能會取消並刪除以前的更改。實質上,我想通過我的/themes/mytheme/functions.php
文件控制輸出。
有沒有人遇到過這種情況,原來的功能是包含在一個文件中,我不想爲同樣的「更新」原因編輯?
感謝
EDIT(2012年11月21日): 我有一個自定義功能在我functions.php
文件像這樣:
function prepare_jigoshop_wrappers() {
remove_action('jigoshop_before_main_content', 'jigoshop_breadcrumb', 20);
add_action('jigoshop_before_main_content', 'custom_jigoshop_breadcrumb', 10);
}
add_action('wp_head', 'prepare_jigoshop_wrappers');
這實質上是讓我運用我自己的結構&組態。對於其他默認功能,這有點困難。所有的都包含一個函數中例如,「量選擇」,「加入購物車」按鈕和「庫存量」在jigoshop_template_actions.php
文件調用的_title
,_price
,_excerpt
,_meta
,_sharing
& _add_to_cart
喜歡叫jigoshop_template_single_summary
。
這些顯示的順序,我似乎無法改變。因此,我想基本上是重新定義function jigoshop_template_single_summary() {...}
也許你可以對你的問題的具體闡述,因爲可替代解決方案,不涉及壓倒一切的。插件函數給出了什麼輸出以及如何修改它? – Jrod
嗨@Jrod,請參閱上面的編輯。謝謝 – carmat