2013-09-28 25 views
0


我剛開始使用Wordpress(v。3.6.1)。
我有OptionTree安裝,因爲它似乎它處理主題選項頁面。我想在用戶保存此頁面的更改後立即運行我的功能(在插件或其他任何地方)。

到目前爲止,我發現選項樹/包括/ OT - 設置 - api.php生成表單,並設置表單動作options.php(這是一個WordPress的核心文件)。我正在考慮將操作更改爲我的自定義php文件,並處理保存過程並最終運行我自己的功能。但是這個解決方案看起來非常難看。
我想知道是否有另一種方式來完成工作。
謝謝。保存外觀>主題選項後立即執行操作

+1

檢查這些:[Codex](https://codex.wordpress.org/Theme_Customization_API)和[tutsplus](http://wp.tutsplus.com/tutorials/using-the-settings-api-part-1 - 創建 - 一個主題選項頁/)。 –

回答

1

感謝@Sheikh Heera鏈接(tutsplus)我可以找到解決方案。
我認爲這是一種破解,我仍然不知道它是否是最好的方法。無論如何,我這樣做:

  1. 在你的主題的lib文件夾創建一個文件您-主題的settings.php
  2. 允許WordPress知道你的文件在你的主題添加該代碼的functions.php

    include_once('lib/your-theme-settings.php'); 
    
  3. 將此代碼添加到您的主題-的settings.php

    function your_theme_register_settings() { 
        register_setting('option_tree', 'option_tree', 'your_theme_validate_options'); 
    } 
    
    function your_theme_validate_options($input) { 
        // do whatever you have to do with $input. 
    } 
    
    add_action('admin_init', 'your_theme_register_settings'); 
    

在步驟3中,我把'option_tree'爲第1和register_settings函數的第二個參數,因爲我注意到,OptionTree插件的選項組選項名稱option_tree

我不確定這是否是最好的解決方案,所以我會很高興如果你分享你的想法。

+1

旁註:'admin_init'只會在管理端觸發,所以不需要檢查'is_admin'。 – brasofilo