注册 登录
  • 亦之博客- 最专业的wordpress主题免费收集分享平台,WordPress免费主题应有尽有!http://yizhiboke.com
  • 公告:网站最近做了下固定链接,如有访问却看不到的文章可以在网址后缀加.html.
  • 秀人蜜| 秀人网倾力打造最有视觉效果的美女图片网站——www.xiuren.me
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏 亦之博客
  • 一秒钟记住我们的网址:www.yizhiboke.com

WordPress后台制作教程(七):使用类

面向对象编程是现在编程语言中很重要的方法,很多程序语言都支持面向对象的编程方法,至于面向对象的概念、特点什么的,就不多说了,我们的后台设置选项如果设置数据非常多,按照前面的方法,需要些很多代码,当然你也可以使用各种自定义函数来简化代码,现在我们使用类来添加设置选项,在配置和修改的时候也非常简单。

我们先看一个简单一点的类(参考自NEOEASE):

第一步,新建php文件(我还是使用前面教程中新建的myfunctions.php文件),我用默认主题Twenty Ten来测试,首先在这个主题的文件夹下新建一个文件-myfunctions.php 然后打开functions.php文件在最底部添加下面的代码载入我们新建的这个文件:

include_once('myfunctions.php');  

类的代码如下:

<?php      
//类ClassicOptions   
class ClassicOptions {      
    /* -- getOptions函数获取选项组 -- */     
    function getOptions() {    
        // 在数据库中获取选项组      
        $options = get_option('classic_options');      
        // 如果数据库中不存在该选项组, 设定这些选项的默认值, 并将它们插入数据库      
        if (!is_array($options)) {      
            //初始默认数据   
            $options['ashu_copy_right'] = '阿树工作室';   
               
            //这里可添加更多设置选项   
               
            update_option('classic_options', $options);      
        }   
        // 返回选项组   
        return $options;   
    }   
    /* -- init函数 初始化 -- */     
    function init() {      
        // 如果是 POST 提交数据, 对数据进行限制, 并更新到数据库      
        if(isset($_POST['classic_save'])) {      
            // 获取选项组, 因为有可能只修改部分选项, 所以先整个拿下来再进行更改      
            $options = ClassicOptions::getOptions();      
            // 数据处理    
            $options['ashu_copy_right'] = stripslashes($_POST['ashu_copy_right']);      
               
            //在这追加其他选项的限制处理      
               
            // 更新数据      
            update_option('classic_options', $options);      
           
        } else {   
            // 否则, 重新获取选项组, 也就是对数据进行初始化   
            ClassicOptions::getOptions();      
        }   
           
        //添加设置页面   
        add_theme_page("主题设置", "主题设置", 'edit_themes', basename(__FILE__), array('ClassicOptions', 'display'));      
    }      
    /* -- 标签页 -- */     
    function display() {     
        $options = ClassicOptions::getOptions(); ?>      
        <form method="post" enctype="multipart/form-data" name="classic_form" id="classic_form">      
        <div class="wrap">      
        <h2><?php _e('阿树工作室主题设置', 'classic'); ?></h2>      
        <!-- 设置内容 -->      
        <table class="form-table">      
            <tbody>      
                <tr valign="top">      
                    <td>   
                        <label>      
                            <input type="text" name="ashu_copy_right" value="<?php echo($options['ashu_copy_right']); ?>" size="20"/><?php _e('阿树工作室版权文字');?>      
                        </label>      
                    </td>      
                </tr>      
            </tbody>      
        </table>      
        <!-- TODO: 在这里追加其他选项内容 -->      
        <p class="submit">      
            <input type="submit" name="classic_save" value="<?php _e('保存设置'); ?>" />      
        </p>      
    </div>      
</form>      
<?php      
    }      
}    
    
/*初始化,执行ClassicOptions类的init函数*/     
add_action('admin_menu', array('ClassicOptions', 'init'));       
?>    

类的解析:

其实这个类也很简单,第一步:通过admin_menu钩子执行类的init函数,而init函数代码很简单,就是处理和保存数据,添加一个设置页面,这两个代码前面的 教程都已经讲过。display函数更加简单,知识输出一个表单而已。getOption函数也就是获取选项的数据,如果没有数据就设置一个默认数据。

难点:admin_menu钩子中,执行函数使用array(‘类’,’函数’)这种形式,我们在后台教程二中提到过一次,还有 “类::函数”这种新式的调用,可以参考php资料。

转载:阿树工作室-wordpress主题定制,制作教程


一秒钟记住我们的网址:www.yizhiboke.com转载请注明:WordPress后台制作教程(七):使用类
喜欢 (1)
[36980974@qq.com]
分享 (0)
admin
关于作者:
网络虽无边,处处皆是缘。君若有空余,不妨常来玩 www.yizhiboke.com
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址