2016-05-25 20 views
2

我在wp-admin中編輯自定義頁面。目前在編輯,我看到在wp-admin的自定義頁面的內容中調用php函數

[vc_column_text]Titile1[/vc_column_text] 

每個[/vc_column_text]後,我需要顯示從數據庫中的一些信息。如何在wp-admin編輯器中使用一些參數調用php函數? 像這樣左右:

[vc_column_text]Titile[/vc_column_text] 
[getInforFromDatabase('Titile1')] 

回答

2

這將花費相當多的一些工作。您可能不會直接從WP-Admin Editor中調用PHP函數,但您可以創建一個簡單的基本插件來爲您完成繁重的工作。然後公開你可以在WP Admin Editor中使用的短代碼。

爲此,首先在您的wp-content/plugins目錄中創建一個目錄。爲了演示的目的,我們將調用以下目錄:dbInfoSifter但名稱完全取決於您。最終,路徑到此目錄將是:的wp-content /插件/ dbInfoSifter

現在這個文件夾(dbInfoSifter)內,再創建同名的PHP文件,讓你有: wp-content/plugins/dbInfoSifter/dbInfoSifter.php。現在,添加以下代碼dbInfoSifter.php文件中:

<?php 
     /* 
     Plugin Name: DB Info Sifter 
     Plugin URI: your-domain.tld 
     Description: Simple Plugin to sift data From Database. 
     Author: Your Name 
     Author URI: http://your-domain.tld 
     Version: 1.0.0 
     */ 

     // THE COMMENTED LINES ABOVE INFORMS WORDPRESS THAT THIS IS A PLUGIN. 
     // SO IT KNOWS TO ADD IT TO THE PLUGINS LIST... 
     // WE SHALL REVISIT THIS SOONER THAN LATER... 


     // IN THIS FILE YOU SHOULD PUT ALL THE LOGIC 
     // FOR GETTING DATA FROM THE DATABASE OR DOING ANYTHING AT ALL 
     // HOWEVER, THE MOST IMPORTANT THING IS TO EXPOSE THE SHORT-CODE 
     // SO THAT WE CAN USE IT INSIDE THE WP-ADMIN EDITOR. 
     // WE CAN DO THAT WITH THE FOLLOWING LINES OF CODE... 
     add_shortcode('getInfoFromDatabase', 'dbsGetInfoFromDatabase'); 


     // THE LINE ABOVE EXPOSES THE SHORT-CODE SO THAT YOU CAN CALL IT 
     // FROM YOUR WP-ADMIN EDITOR... THE ARGUMENTS ARE SPECIFIC: 
     // THE 1ST ARGUMENT IS THE NAME OF THE SHORT-CODE 
     // THE 2ND IS THE NAME OF THE FUNCTION TO RUN WHEN THIS SHORT-CODE IS CALLED. 
     // SO NOW, WE WRITE OUT THE FUNCTION ITSELF: 
     //THE $atts PARAM IS AN ARRAY OF PARAMETERS PASSED TO THE SHORT-CODE. 
     function dbsGetInfoFromDatabase($atts){ 
      extract(shortcode_atts(array(
       'title1'  => "default_value", /*<= SET DEFAULT VALUE*/ 
       'param2'  => "default_value", /*<= SET DEFAULT VALUE*/ 
      ), $atts)); 
      // WITH THE extract FUNCTION YOU CAN NOW USE title1 AND param2 
      // AS NORMAL VARIABLES IN YOUR PROGRAMS LIKE $title1, $param2. 
      // SO THIS IS WHERE YOU BUILD YOUR LOGIC TO GET DATA FROM THE 
      // DATABASE & YOU CAN USE THE PARAMETERS TOO... 
      // YOU ARE NOT LIMITED TO THE NUMBER OF PARAMETERS TO USE 
      // AS WELL AS THE NAME OF THE PARAMETERS... 
      // THOSE ARE COMPLETELY UP TO YOU... 

      /* AND SO; YOUR LOGIC CONTINUES...*/ 


      // IT IS HIGHLY IMPORTANT THAT THIS FUNCTION RETURNS A VALUE. 
      // MOSTLY LIKELY, THE TYPE WOULD BE A STRING 
      // (ESPECIALLY IF YOU WANT TO DISPLAY IT AUTOMATICALLY) 
      return $stringValueResultingFromDBTransactions; 
     } 

這一切......真的沒什麼特別的吧......但你也可以有這個文件做了內等功能,反正。然而,這個文件的最重要的部分(在你的情況)是:1)函數:dbsGetInfoFromDatabase($ args)和2)文件頂部的註釋。

現在,在WP-Admin Editor中;使用我們像這樣創建的短代碼,你可以只是簡單的引用這個功能:

  // WP-ADMIN EDITION (BACKEND) 
      [vc_column_text]Titile[/vc_column_text] 
      [getInfoFromDatabase title1='Titile1'] //<== CALL YOUR SHORT-CODE 

或者,您也可以像這樣:

  //WP-ADMIN EDITION (BACKEND) 
      [vc_column_text]Titile[/vc_column_text] 
      [getInfoFromDatabase title1='Titile1'][/getInfoFromDatabase]   

雙方將獲得相同的結果,但第一一個似乎更簡潔(對我來說)。拿你的選擇。

最後,你需要在後端激活插件才能工作。所以;導航到您的插件部分(位於Wordpress的後端)。您會注意到一個名爲DB Info Sifter的新插件。只需激活它,你終於完成了。你的短代碼現在可以工作,就好像你實際上調用了一個函數並且傳遞了$ title1參數。

我希望這可以幫助你一點點,給你一個頭開始...... 好運給你,我的朋友......

+0

你好,非常感謝你! – user3162709