WordPress主题添加后台管理自定义字段面板选项keywords

我们需要思考三个问题:
1、后台界面实现
2、写入数据库
3、网站前台调用,当然我们今天添加的项目需要查看网页源码

一、后台界面实现及数据提交

1、界面效果预览

keywords

2、在主题的根目录下建立inc文件夹,在inc文件里创建一个bootstrapwp-functions.php文件
3、打开functions.php引入我们自己建立的文件bootstrapwp-functions.php

  1. require get_template_directory() . '/inc/bootstrapwp-functions.php';

4、在bootstrapwp-functions.php输入以下代码

  1. <?php
  2.      function getOptions() {
  3.         $options = get_option('cnblogs_options');
  4.  
  5.         if (!is_array($options)) {
  6.             $options['meta_keywords'] = '';
  7.             update_option('cnblogs_options', $options);
  8.         }
  9.         return $options;
  10.     }
  11.      /* 初始化 */
  12.     function init() {        
  13.         if(isset($_POST['input_save'])) {
  14.             $options = getOptions();
  15.             $options['meta_keywords'] = stripslashes($_POST['meta_keywords']);
  16.             update_option('cnblogs_options', $options);
  17.         } else {
  18.             getOptions();
  19.         }
  20.          add_theme_page("主题选项", "主题选项", 'edit_themes', basename(__FILE__),  'display');
  21.     }
  22.      /* 界面 */
  23.     function display() {
  24.         $options = getOptions();
  25. ?>
  26.  <form action="#" method="post" enctype="multipart/form-data" name="op_form" id="op_form">
  27.     <div class="wrap">
  28.         <h2>当前主题选项</h2>
  29.          <table>
  30.             <tbody>
  31.                 <tr>
  32.                     <td>Meta KeyWords</td>                   
  33.                 </tr>
  34. 				<tr> <td>
  35.                         <label>
  36.                             <textarea name="meta_keywords" cols="50" rows="10" id="meta_keywords" style="width:98%;font-size:12px;" ><?php echo($options['meta_keywords']); ?></textarea>
  37.                         </label>
  38.                     </td></tr>
  39.             </tbody>
  40.         </table>
  41.          <p class="submit">
  42.             <input type="submit" name="input_save" value="保存" />
  43.         </p>
  44.     </div>
  45.  
  46. </form>
  47.  <?php
  48.     }
  49.      add_action('admin_menu', 'init');
  50.  ?>

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文件中输入以下代码

  1. <meta name="keywords" content="<?php $cnblogsopt=get_option('cnblogs_options');echo $cnblogsopt['meta_keywords'];?>"/>

当你后台编辑好meta_keywords提交保存后,前台网页-查看网页源码,就可以看到你刚才输入的内容了,这样对于修改主题非常方便。
这样每个主题的使用者就可以灵活的修改网页的关键词了。


发布日期:

所属分类: Wordpress, Wordpress 综合 标签: