13071077710
您的当前位置: 首页 > wordpress > WordPress主题后台选项开发框架 Options Framework

WordPress主题后台选项开发框架 Options Framework

时间: 2016-7-7

最近一直在学习 WordPress 主题后台的开发,看了不少教程,但作为一只PHP菜鸟,感到颇为吃力。后来结合国内某大大的主题才发现一款合适的wp后台开发框架Options Framework。

Options Framework相关信息

Options Framework是国外一款非常流行的主题后台开发框架,因为其便捷性与开源免费,许多主题都是采用它作为WordPress主题后台。其分为主题版Options Framework Theme 与插件版Options Framework Plugin。在这里子歇主要介绍主题版Options Framework Theme。

Options Framework作者博客:点击查看

主题版下载地址:点击查看

插件版下载地址:点击查看

中文版本下载地址:点击查看

Options Framework集成到你的主题教程

一、先往上面的地址下载主题版,下载后直接放到themes目录下启用就可以看到主题选项面板,可以通过index.php来研究研究代码。

of-view

二、集成到自己的主题的话,首先是复制主题版的inc文件夹、images文件夹、options.php到你的主题根目录中。然后在你的主题的functions.php加入以下代码:

if ( !function_exists( 'optionsframework_init' ) ) { define( 'OPTIONS_FRAMEWORK_DIRECTORY', get_template_directory_uri() . '/inc/' ); require_once dirname( __FILE__ ) . '/inc/options-framework.php'; }

保存后再WordPress管理界面的“外观”就可以看到菜单“Theme Options”了。

三、Options Framework产生的后台选项页面是选项卡式的,非常美观大方,支持的功能也很多,包括:

  • 表单按钮(text、checkbox、radio、select)
  • 图片上传
  • 背景图片和背景色
  • 字体选择
  • 图片选择(例如用来选择主题的layout)
  • 帮助信息
  • 复位按钮

如何自定义选项?打开options.php中,按照文件的代码照葫芦画瓢就能做出自己的选项。

四、修改输出方式

Options Framework的原本输出函数是of_get_option,如果你想更美观地让他出现,也为了便于记忆,可以进入inc/options-framework.php文件,找到以下文件并修改:

if ( ! function_exists( '输出函数' ) ) :
function 输出函数( $name, $default = false ) {

比如说,你想要的输出函数是get_jiecao,那么此处就为

if ( ! function_exists( 'get_jiecao' ) ) :
function get_jiecao( $name, $default = false ) {

Zixie主题选项代码

<?php echo zixieme('address');?> //公司地址

<?php echo zixieme('zipcode');?> //邮编

<?php echo zixieme('fax');?> //传真

<?php echo zixieme('400');?> //400电话

<?php echo zixieme('fixed');?> //固话

<?php echo zixieme('email');?> //邮箱

<?php echo zixieme('mobile');?> //手机

<?php echo zixieme('zixieme_statistics_code');?> //统计

<?php echo zixieme('qq');?> //QQ

<a href="http://www.miitbeian.gov.cn/" rel="nofollow" target="_blank"><?php echo get_option( 'zh_cn_l10n_icp_num' );?></a> //备案

首页调用关于页面代码

<section class="about">
<?php
if (zixieme('zixie_about')) { $zixie_about = zixieme('zixie_about');
$my_id = $zixie_about;
$mypage = get_post($my_id);
?>
<h2>
<a href="<?php echo get_page_link($zixie_about);?>"><?php echo $mypage->post_title;?></a>
<span><a rel="nofollow"> href="<?php echo get_page_link($zixie_about);?>">更多>></a></span>
</h2>
<div class="stinner">
<?php echo substr($mypage->post_content,0,strpos($mypage->post_content, '<!--more-->'));?><?php } ?>
</div>
</section>

PS:在关于页面中添加 more 标签 ,此代码只显示 more 标签之前的内容。

首页案例代码

<section class="case">
  <?php if (zixieme('picture_show')) { $picture_show = zixieme('picture_show'); ?>
    <h2>
        <a rel="nofollow" href="<?php echo get_category_link($picture_show);?>"><?php echo get_cat_name( $picture_show ); ?></a>
    </h2>
  <?php query_posts('caller_get_posts=1&showposts=8&cat='.$picture_show); ?><?php } ?>
    <ul>
      <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <li>
          <a href="<?php the_permalink(); ?>">
            <img src="<?php echo Zixie_image() ?>" alt="<?php the_title(); ?>" /></div>
            <h3><?php the_title(); ?></h3>
          </a>
        </li>
      <?php endwhile; endif ?>
    </ul>
</section>

产品推荐

<section>
    <?php
        $sticky = get_option('sticky_posts');
        //rsort( $sticky ); //对数组逆向排序,即大ID在前
        $sticky = array_slice( $sticky, 0, 8);
        query_posts( array( 'post__in' => $sticky ) );//输出置顶文章数,请修改8,0不要动,如果需要全部置顶文章输出,可以把这句注释掉
    ?>
    <ul>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" target="_blank" ><img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" border="0" /></a>
            <span><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></span>
        </li>
    <?php endwhile; endif ?>
    </ul>
</section>

Copyright © 2013-2019 子歇    版权所有   网站地图