在制作Wordpress主題的程序中我們想增加后臺管理的一些專案,比如上傳logo,Meta的keywords和description,以及footer的底部著作權資訊等,這樣讓我們的主題更具有靈活性,拓展性,
我們需要思考三個問題:
1、后臺界面實作
2、寫入資料庫
3、網站前臺呼叫,當然我們今天添加的專案需要查看網頁原始碼
一、后臺界面實作及資料提交
1、界面效果預覽

2、在主題的根目錄下建立inc檔案夾,在inc檔案里創建一個bootstrapwp-functions.php檔案
3、打開functions.php引入我們自己建立的檔案bootstrapwp-functions.php
require get_template_directory() . '/inc/bootstrapwp-functions.php';
4、在bootstrapwp-functions.php輸入以下代碼
<?php
function getOptions() {
$options = get_option('cnblogs_options');
if (!is_array($options)) {
$options['meta_keywords'] = '';
update_option('cnblogs_options', $options);
}
return $options;
}
/* 初始化 */
function init() {
if(isset($_POST['input_save'])) {
$options = getOptions();
$options['meta_keywords'] = stripslashes($_POST['meta_keywords']);
update_option('cnblogs_options', $options);
} else {
getOptions();
}
add_theme_page("主題選項", "主題選項", 'edit_themes', basename(__FILE__), 'display');
}
/* 界面 */
function display() {
$options = getOptions();
?>
<form action="#" method="post" enctype="multipart/form-data" name="op_form" id="op_form">
<div class="wrap">
<h2>當前主題選項</h2>
<table>
<tbody>
<tr>
<td>Meta KeyWords</td>
</tr>
<tr> <td>
<label>
<textarea name="meta_keywords" cols="50" rows="10" id="meta_keywords" style="width:98%;font-size:12px;" ><?php echo($options['meta_keywords']); ?></textarea>
</label>
</td></tr>
</tbody>
</table>
<p class="submit">
<input type="submit" name="input_save" value="保存" />
</p>
</div>
</form>
<?php
}
add_action('admin_menu', 'init');
?>
get_option函式獲取選項值;update_option更新選項,我們這里定義了一個“cnblogs_options”的選項,為了和WP自己的選項分開來,這里定義成陣列形式,php的陣列可以當成C#的字典集合使用,這里定義了字典項"meta_keywords“,
add_theme_page 函式在后臺頁面->外觀選單下插入一個"主題選項"的選單,add_action('admin_menu','init')相當于添加事件和事件處理程式,init函式判斷如果點擊了"input_save"保存按鈕,提交form表單,就保存更改,
二、前臺網頁查看
我們在header.php檔案中輸入以下代碼
<meta name="keywords" content="<?php $cnblogsopt=get_option('cnblogs_options');echo $cnblogsopt['meta_keywords'];?>"/>
當你后臺編輯好meta_keywords提交保存后,前臺網頁-查看網頁原始碼,就可以看到你剛才輸入的內容了,這樣對于修改主題非常方便,
這樣每個主題的使用者就可以靈活的修改網頁的關鍵詞了,
您可能感興趣的文章:
? wordpress后臺無插件顯示文章和分類ID
? 提升WordPress 國外主題打開速度全面解決方案
? wordpress讓你的網頁顯示不同的標題
? WordPress資料庫關鍵檔案wp-config.php詳解
? wordpress使用register_post_type 函式創建自定義文章型別∶
? WordPress資料庫及各表結構功能詳解
? WordPress升級遇到Briefly unavailable for scheduled maintenance解決辦法
? 利用Bootstrap構建你的回應式WordPress主題( 六)
? wordpress4.4 優化wp-json鏈接、embeds功能
? wordpress文章頁面添加字體增大減小鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/40120.html
標籤:其他
上一篇:怎么快速根據指定坐標范圍搜索范圍內的多段線的哪一段????
下一篇:序列號演算法
