Wordpress博客系统 一个简单的 wordpress 后台设置插件

2021-10-16 4169阅读

温馨提示:这篇文章已超过222天没有更新,请注意相关的内容是否还可用!

之前我在公司写过一个页面,叫做dataview,文章截图名称有点问题,英语不好,这个是根据公司需求开发的一个统计wordpress发文章情况的页面,前端用的模板,看着挺好看、挺智能,实则写死了,数据虽然动态生成,但也只能看看,没有任何人性化设置,就感觉不太智能,没有后台设置选项。为什么之前不写?因为之前老板给的时间比较紧促。

Wordpress博客系统 一个简单的 wordpress 后台设置插件  nbsp 分享 系统 第1张

        我之前也写过,https://www.vience.cn/blog/629.html,于是今天,花点时间再写一遍,完善了一下后台设置页,加了页面访问权限和排除某些不统计的人,就写了这个插件,易于上手、方便下次改改,就记录下来。分享给大家改改和自己下次使用。也可以配合我之前发过的wordpress后台模板使用(https://www.vience.cn/blog/630.html)。

        显示是这样的:

Wordpress博客系统 一个简单的 wordpress 后台设置插件  nbsp 分享 系统 第2张


代码:

也就100多行代码,大佬勿喷。

[CommentView]

<?php/*
	Plugin Name:dataview设置插件
	Description:本插件是UESDTO后台可视化设置的插件,全称“dataview settings plugins”,简称“dsp”。
	Author: 殷江碧
	Author URI: https://www.vience.cn
	Version: 1.0
*//* 注册激活插件时调用的函数 */ register_activation_hook( __FILE__, 'usp_install');function usp_install() {
    /* 在数据库的 wp_options 表中添加一条记录,第二个参数为默认值 */ 
    if(!get_option('dataview_id')){//在安装插件时,如果不存在,则新增
    add_option("dataview_id", "1-2-5-7", '', 'yes');
    }

    if(!get_option('dataview_permission')){//在安装插件时,如果不存在,则新增
    add_option("dataview_permission", "1", '', 'yes');
    }}/* 注册停用插件时调用的函数 */ register_deactivation_hook( __FILE__, 'usp_remove');function usp_remove() {
    /* 删除 wp_options 表中的对应记录 */ 
    //delete_option('uesdto-xiaozu'); //禁用插件时删除配置项 }function dataview_post() {
    updata_option( 'dataview_permission', $_REQUEST['dataview_permission']);
    updata_option( 'dataview_id', $_REQUEST['dataview_id']);}
 add_action('switch_theme', 'dataview_post');//添加菜单function register_dataviewsettings() { // whitelist options
  register_setting( 'dataviewoption-group', 'dataview_permission' );
  register_setting( 'dataviewoption-group', 'dataview_id' );}if ( is_admin() ){ // admin actions
  add_action( 'admin_menu', 'dataview_menu' );
  add_action( 'admin_init', 'register_dataviewsettings' );} else {
  // non-admin enqueues, actions, and filters}function dataview_menu() {
    add_menu_page("dataview设置", "dataview设置", 'administrator', 'dataview_menu', 'adminpage_html');//管理员显示该菜单,编辑,作者,投稿人等其他人则不显示}//添加菜单function adminpage_html() {
    ?><div class="wrap">
  <h1>dataview设置</h1>
  <form method="post" action="options.php">  
    <?php /* 下面这行代码用来保存表单中内容到数据库 */ ?>  
    <?php wp_nonce_field('updata-options');
    settings_fields( 'dataviewoption-group' );
    do_settings_sections( 'dataviewoption-group' );
    ?>  
    
    <table class="form-table" role="presentation">
      <tbody>

        <tr>
          <th scope="row">dataview权限设置</th>
          <td>
            <fieldset>
              <legend class="screen-reader-text">
                <span>dataview</span>
              </legend>
              <label>
                <input type="radio" name="dataview_permission" value="0" <?php if(get_option('dataview_permission') == 0){echo "checked=\"checked\"";}?>>
                <span class="data-time-text format-i18n">关闭页面</span>
                <code>任何人不可看</code>
              </label>
              <br>
              <label>
                <input type="radio" name="dataview_permission" id="dataview_permission" value="1" <?php if(get_option('dataview_permission') == 1){echo "checked=\"checked\"";}?>>
                <span class="date-time-text date-time-custom-text">登录后可查看</span>
                <code>防止外人访问</code>
              </label>
              <br>
              <label>
                <input type="radio" name="dataview_permission" id="dataview_permission" value="2" <?php if(get_option('dataview_permission') == 2){echo "checked=\"checked\"";}?>>
                <span class="date-time-text date-time-custom-text">不限制</span>
                <code>任何人都可看</code>
              </label>
              <br>
            </fieldset>
          </td>
        </tr>

        <tr>
          <th scope="row">
            <label for="dataview_id">dataview不统计的ID</label>
          </th>
          <td>
            <input name="dataview_id" type="text" id="dataview_id" value="<?php echo get_option('dataview_id'); ?>" class="regular-text">
            <span class="date-time-text date-time-custom-text">如:1-2-5-7。排除ID为1和2和5和7的用户统计</span>
          </td>
        </tr>

      </tbody>
    </table>
    <p class="submit">
      <input type="hidden" name="action" value="update" />  
      <input type="hidden" name="page_options" value="dataview_menu" />
      <input type="submit" name="submit" id="submit" class="button button-primary" value="保存更改">
    </p>
  </form></div><?php  }?>

[/CommentView]

本文原地址:文曦博客https://www.vience.cn/blog/645.html