2010-08-07 59 views
1

我只是一個真正的PHP新手(我知道我在嘗試運行之前可以走路),但我想知道是否可以定義一個函數名通過文本框。定義帶有文本字段的函數名稱

目前,我正在使用Wordpress,因此我可以使用add_option向數據庫添加某些內容以存儲數據等,這很方便。我的想法是爲幻燈片插件,它允許您有無限的幻燈片。

這將通過在文本框中鍵入名稱然後單擊提交按鈕來存儲名稱。這個名字將被賦予一個可用於顯示特定幻燈片的功能。這可能嗎?

對不起,如果這似乎令人困惑。我知道我想要達到的目標,但我不知道如何(但我願意學習)。謝謝。

+0

+1雖然動態函數的生成不是IMO必要的,但我想知道它是否可行;) – Nicolas78 2010-08-07 17:40:59

回答

0

爲什麼你需要新的功能?聽起來更像是具有不同參數的相同功能,它可以很容易地成爲你的文本字段值。

+0

你怎麼能這麼做? – 2010-08-07 14:16:22

+0

抱歉,因爲簡潔是在手機上,希望它可能是足夠的;)。 kevtrout的例子幾乎指出:不是創建像「my_slideshow()」這樣的新函數,而是創建一個像display_slideshow這樣的單個函數,其參數爲$ slideshowname,其中包含例如「my_slideshow」 - 幻燈片之間的不同之處在於數據,而不是執行邏輯,所以你實際上不需要定義新的功能,而是傳遞不同的數據。 – Nicolas78 2010-08-07 17:38:45

+0

所以爭論是,你不需要做你所要求的。我不是PHP精明的,但回答問題的其他部分;你可以創建名稱基於變量名的函數嗎?我想不,但我很樂意聽到更有資格的評論。 – Nicolas78 2010-08-07 17:40:25

0

1.你的插件管理頁面允許命名和創建幻燈片,比如創建帶有標題的帖子或圖庫以及添加圖像。

2.you發生在你的主題,你想一個幻燈片出現在函數調用:

if(function_exists('display_slideshow')){display_slideshow($slideshow_name)}; 

3.功能display_slideshow()包含在你的插件文件。

function display_slideshow($slideshow_name){ 
      //get slideshow stuff from the database, 
      //using the name of the show passed as arg 
      //write your html and php to show the images the way you design 
     } 
+0

Wordpress使用函數add_option向數據庫添加一個選項。因此,可以說我給文本框的名稱「標題」(名稱=「標題」),然後當用戶點擊提交時,它添加了從用戶在文本框中寫入的任何名稱的選項; $ option_name = $ _REQUEST ['title']; add_option($ option_name,'',''); //添加一個用戶輸入到數據庫中的名稱的選項 但是我不知道如何獲取剛剛創建的選項的名稱,然後顯示一個使用該名稱的特定函數來顯示那個特定的幻燈片。 – 2010-08-08 22:58:36

+0

請編輯您的問題以解釋用戶如何創建幻燈片以及如何將幻燈片添加到頁面或帖子或側邊欄。用戶是否必須硬編碼我建議的功能?或者他們會在帖子中使用短代碼,還是會在帖子組合面板中提供「插入幻燈片」按鈕?這兩個問題對您給出更好的答案非常重要。現在,你正在解釋你的計劃的一個詳細部分,我想了解大局。 – kevtrout 2010-08-09 12:17:11

+0

你知道* get_option(選項名稱)*對嗎? – kevtrout 2010-08-09 12:17:56