這款極簡(jiǎn)版單頁(yè)設(shè)置框架本來(lái)是給主題做設(shè)置選項(xiàng)用的,我將他改一改,用在了插件上。來(lái)看看我都做了哪些更改。
- 函數(shù):add_options_page
我把這個(gè)文件改名,并放到了插件根目錄下的inc文件夾中,加載這個(gè)文件:
/** 加載選項(xiàng)框架函數(shù) */
require_once dirname( __FILE__ ) . '/inc/plugin-options.php';
第壹步:
移動(dòng)顯示位置
首先,這個(gè)選項(xiàng)是出現(xiàn)在外觀里面的,為了將他放到設(shè)置下面,我更改了這一部分代碼:
/**
* 加載菜單頁(yè)
*/
function search_options_add_page() {
add_options_page( 'N-Search', 'N-Search插件', 'edit_theme_options', 'theme_options', 'theme_options_do_page' );
}
其中的add_options_page
就是將插件菜單添加至后臺(tái)設(shè)置菜單下面。
第貳步:
更改插件標(biāo)題
默認(rèn)的標(biāo)題為自動(dòng)選取當(dāng)前主題名,我稍作更改:
<?php screen_icon(); echo "<h2>N-Search插件選項(xiàng)</h2>"; ?>
第叁步:
移除多余提示
移動(dòng)到設(shè)置選項(xiàng)下后,保存數(shù)據(jù)時(shí)會(huì)跳出兩個(gè)提示框,因此,我刪除了以下代碼:
<?php if ( false !== $_REQUEST['settings-updated'] ) : ?>
<div class="updated fade"><p><strong>設(shè)置保存成功!</strong></p></div>
<?php endif; ?>
第伍步:
清楚無(wú)用數(shù)據(jù)
因?yàn)椴寮跀?shù)據(jù)庫(kù)中保存了一些數(shù)據(jù),為了在用戶刪除插件的時(shí)候,同時(shí)刪除插件里的數(shù)據(jù),我在插件根目錄下新建了一個(gè)uninstall.php
文件,里面的內(nèi)容是:
<?
// 如果 uninstall 不是從 WordPress 調(diào)用,則退出
if( !defined( 'WP_UNINSTALL_PLUGIN' ) )
exit();
//刪除插件創(chuàng)建的項(xiàng)目,以確保不占用數(shù)據(jù)庫(kù)資源
delete_option( 'sample_theme_options' );
根據(jù)這一段代碼可知:
<?php $options = get_option( 'sample_theme_options' ); ?>
是從這個(gè)函數(shù)里獲取選項(xiàng)的值的,所以在刪除插件時(shí),會(huì)自動(dòng)執(zhí)行uninstall.php
文件,然后執(zhí)行刪除操作。
其他:
這款插件在這里:
關(guān)于這個(gè)設(shè)置框架,您可以從這里了解到更多信息: