开发WordPress主题常用的函数列表

如果你经常折腾WordPress主题,那么肯定会经常Google搜索一些WordPress主题(模版:Template)函数跑到到WordPress的CODEX中去(英语不好使的同学很是难过啊~),这不整了个开发WordPress主题常用的函数列表,这些都是在开发(构建)、更新和维护WordPress主题时的常用函数,简单Copy-Paste收集汇总之。

WordPress-Functions

用几个小表杂乱无序的列出了制作主题时候常用的函数…

主题基本模板文件列表

文件名 描述
style.css 主题样式文件
index.php 首页模板文件
header.php 头部模板文件
single.php 单篇文章模板文件
archive.php 存档/分类模板文件
searchform.php 搜索表单模板文件
search.php 搜索模板文件
404.php 404模板文件
comments.php 留言模板文件
footer.php 底部模板文件
sidebar.php 侧边栏模板文件
page.php 静态页面模板文件
front-page.php 静态首页模板文件
tag.php 标签存档模板文件
category.php 分类存档模板文件

WordPress常用主题函数

函数名 描述
<?php the_content(); ?> 文章内容
<?php if(have_posts()): ?> 检查是否有文章
<?php while(have_posts()): the_post(); ?> 显示文章
<?php endwhile; ?> 结束循环
<?php endif; ?> 结束判断
<?php get_header(); ?> 头部模板内容
<?php get_sidebar(); ?> 侧边栏模板内容
<?php get_footer(); ?> 底部模板内容
<?php the_time(‘m-d-y’); ?> 显示时间,格式为:’08-18-07′
<?php comments_popup_link(); ?> 显示到文章留言的链接
<?php the_title(); ?> 文章标题
<?php the_permalink(); ?> 文章链接
<?php the_category(); ?> 文章分类
<?php the_author(); ?> 文章作者
<?php the_ID(); ?> 文章ID
<?php edit_post_link(); ?> 文章编辑链接
<?php wp_list_bookmarks(); ?> 友情链接列表
<?php comments_template(); ?> 留言模板内容
<?php wp_list_pages(); ?> 所有页面列表
<?php wp_list_categories(); ?> 所有分类列表
<?php next_post_link(‘%link’); ?> 下一篇文章链接
<?php previous_post_list(‘%link’); ?> 上一篇文章链接
<?php get_calendar(); ?> 显示文章日历
<?php wp_get_archives(); ?> 存档链接列表
<?php posts_nav_link(); ?> 上一篇和下一篇文章链接
<?php rewind_posts(); ?> 重回开头开始第二个循环

头部(Header Tag)常用函数

函数名 描述
<?php site_url(); ?> 站点根链接
<?php wp_title(); ?> 文章或者静态页面标题
<?php bloginfo(‘name’); ?> 站点名称
<?php bloginfo(‘description’); ?> 站点描述
<?php get_stylesheet_directory(); ?> 样式文件所在目录
<?php bloginfo(‘stylesheet_url’); ?> 样式文件链接
<?php bloginfo(‘pingback_url’); ?> pingback 链接
<?php bloginfo(‘template_url’); ?> 模板文件所在目录链接
<?php bloginfo(‘version’); ?> WordPress 版本
<?php bloginfo(‘atom_url’); ?> atom 链接
<?php bloginfo(‘rss2_url’); ?> rss2 链接
<?php bloginfo(‘url’); ?> 网站根链接
<?php bloginfo(‘html_type’); ?> html 版本
<?php bloginfo(‘charset’); ?> 字符集

导航菜单实现

默认导航菜单
<?php wp_nav_menu(); ?>
指定的导航菜单
<?php wp_nav_menu( array(‘menu’ => ‘Project Nav’ )); ?>
基于分类的导航
<ul id=”menu”>
<li <?php if(is_home()) { ?> class=”current-cat” <?php } ?>>
<a href=”<?php bloginfo(‘home’); ?>”>Home</a></li>
<?php wp_list_categories(‘title_li=&orderby=id’);?>
</ul>
基于页面的导航
<ul id=”menu”>
<li <?php if(is_home()) { ?> class=”current-page-item” <?php } ?>>
<a href=”<?php bloginfo(‘home’); ?>”>Home</a></li>
<?php wp_list_pages(‘sort_column=menu_order&depth=1&title_li=’);?>
</ul>

目录页面(首页)输出文章列表

<?php if(have_posts()) { ?> 
<?php while(have_posts()) { ?> 
<?php the_post(); ?> 
<?php // 对文章样式、标题、摘要,特色图像进行渲染处理DIY的地方 ?> 
<?php } // 结束while ?> 
<?php } // 退出if ?>

其他杂项函数

函数名 描述
<?php get_template_part(‘page-title’); ?> 加载当前应用主题下其它局部模版(灰常好用~)
<?php include(TEMPLATEPATH . ‘/xxx’); ?> 从模板文件夹加载文件
<?php the_search_query(); ?> 搜索表单返回的值
<?php _e(‘Message’); ?> 返回翻译之后的文本
<?php wp_register(); ?> 注册链接
<?php wp_loginout(); ?> 登录/登出链接
<?php wp_meta(); ?> 管理元链接
<?php timer_start(); ?> 开始计时 (header.php)
<?php timer_stop(1); ?> 停止计时 (footer.php)
<?php echo get_num_queries(); ?> 显示生成当前页面所需的查询数

Good Bye 曾经有过那么一个人他愿意陪我聊到天亮

我们一生中会遇到无数个人

有一种人他们来去匆匆

但却被我们深深铭记

他们被称之为过客

总在夜深人静的时候想起来

曾经有过那么一个人他愿意陪我聊到天亮

曾经有那么一个人他在我不开心的时候逗我开心

曾想有那么一个人不介意我深夜的打扰

曾经有那么一个人他愿意听我唠叨

曾经有那么一个人他说过我唱歌很好听

曾经有那么一个人在我最痛苦的时候陪着我

曾经有那么一个人我可以把我的所有不快乐 所以秘密都说给他听

那都是曾经

他们总是在我们不经意间悄悄的离去

悄无声息

我们想去寻找却发现

我们没有一个合适的身份

当我们真正醒悟的时候

他们早已不见踪影

或许我们会在某一天某一个地点遇见他们

那时候我们都不再是曾经的我们

珍惜身边的每一个人 他们或许不像上面说的那样

但每一个人都有值得回忆的地方

迅雷下载为什么总是卡在99%?

几年前,每个使用迅雷下载的用户都会遇到卡在99%进度的问题,并且很多人还都不止遇到一次。眼看自己的资源马上就要下载完,结果就差1%,就是不向前进,弃之又可惜,简直让人抓狂。这到底是因为网速不够快?还是资源不够好?现在,迅雷官方终于现身说法,以通俗易懂的方式为用户详解下载卡99%的原因,以及必要的解决方法。

20151012161529

迅雷表示,以前,我们只从一个服务器下载文件,一旦遇到故障就会很慢,甚至失败。后来,我们发明了“多节点”下载,即整合多处资源下载。这个过程,就如同组装电脑,分别从京东和淘宝上购买配件。

由于不同节点的下载速度有快慢,所以最慢的节点常拖后腿,这就是下载进度卡在99%的原因。迅雷下载的过程,就如果京东、淘宝的快递配送,京东“嗖”一下就送达了,而淘宝的经常会因各种原因耽搁在半路。

这样的悲剧就是,即便收到京东所有快递的配件,但也因淘宝购买的鼠标迟迟未到而无法愉快的玩耍。

迅雷表示,为了缓解这类悲剧的发生,现在,当卡在99%时,迅雷用户(含非会员)下载卡在99%时,迅雷都会免费、自动连接会员专属机房,来加速下载最后的1%。

话说,最近还有碰见下载卡99%的吗?如果有,不妨通过微博向@迅雷官方微博 反映一下。

琅琊榜英文版,你们来感受一下

20151112151622

最近国内爆火的琅琊榜在国外也火了,有一群外国人,每天都追着英文版的看。他们有自己的追剧网站,类似国内的字幕站。他们有专门的团队去翻译,完全属于兴趣爱好免费的。这群人热爱于亚洲文化,以前大多于是韩剧,日剧,台剧。

早在去年《琅琊榜》拍摄的消息就已经引起了他们的关注。一开始他们把《琅琊榜》的英文名翻译成“The Rankings of Lang Ya”,不过现在已经统一成了“Nirvana in Fire”,意思是火中涅槃。

下面给大家看一部剪辑合成的短片,感受一下,如果连声音都翻译的话是什么感受。

纯手写 JQ+CSS 实现轮播图功能代码

javascript

1.HTML

 <div class="baner_box"> 
   <ul class="baner"> 
    <li><img src="https://icejane.b0.upaiyun.com/wp-content/uploads/2015/12/0b2397259b7580eaf4d5db98d3cd9386.jpg" /></li> 
    <li><img src="https://icejane.b0.upaiyun.com/wp-content/uploads/2015/12/2ea5cc3df71f7c1d1de200e1e8220638.jpeg" /></li> 
    <li><img src="https://icejane.b0.upaiyun.com/wp-content/uploads/2015/12/0b2397259b7580eaf4d5db98d3cd9386.jpg" /></li> 
    <li><img src="https://icejane.b0.upaiyun.com/wp-content/uploads/2015/12/2ea5cc3df71f7c1d1de200e1e8220638.jpeg" /></li> 
   </ul> 
   <ol></ol>
   <a class="left">&lt;</a> 
   <a class="right">&gt;</a> 
  </div>

2.CSS

*{padding:0;margin:0;list-style:none}
.baner_box{position:relative;width:1000px;height:300px;overflow:hidden;margin:200px auto 0}
.baner{height:300px;overflow:hidden;z-index:0;margin:0 auto 0;position:absolute}
.baner li{float:left;height:300px;z-index:0;text-align:center;position:relative;overflow:hidden}
.baner li img{width:100%;height:100%}
a{position:relative;top:120px;z-index:10;cursor:pointer;text-align:center;font-size:32px}
.left{float:left;width:30px;height:52px;line-height:52px;color:#fff;left:10px;background:rgba(0,0,0,.7)}
.right{float:right;width:30px;height:52px;line-height:52px;color:#fff;right:10px;background:rgba(0,0,0,.7)}
ol{position:relative;display:table;margin:0 auto 0;top:270px;z-index:10}
ol li{float:left;width:12px;height:12px;margin-left:5px;margin-right:5px;border-radius:50%;background:#ccc;cursor:pointer}
ol li.red{background:red}

3.JS

$(function() {
    var len = $(".baner li").index();
    var speed = 500; //animate time
    var setsed = 4300; //setInterval time
    var width = $(".baner_box").width(); //每次滚动距离
    var twidth = parseInt(width * (len + 1)); //baner总宽度设置	   	    	
    var set;

    //baner总宽度赋值	    	
    $(".baner").width(twidth);

    $(".baner li").width(width); //可以动态选择像li中添加宽度,根据父元素盒子的宽度
    //根据图片的index数,加载原点
    var olh = '<li></li>';

    for (var i = 0; i < (len + 1); i++) {
        $("ol").append(olh);
    }
    $("ol").find('li').first().addClass('red');

    //左滚动
    $(".left").on('click',
    function() {
        var pleft = parseInt($(".baner").css("left")) + width + 'px';
        var cpleft = '-' + parseInt(len * width) + 'px';
        var cleft = parseInt($(".baner").css("left"));
        var cindex = parseInt( - (cleft / width));

        if (cleft == 0) {
            $(".baner").stop().animate({
                left: cpleft
            },
            speed);
        } else {
            $(".baner").stop().animate({
                left: pleft
            },
            speed);
        }

        if (cindex == 0) {
            $("ol li").eq(len).addClass('red').siblings('li').removeClass('red');
        } else {
            $("ol li").eq(cindex - 1).addClass('red').siblings('li').removeClass('red');
        }
    });
    //右滚动
    $(".right").on('click',
    function() {

        var nleft = parseInt($(".baner").css("left")) - width + 'px';
        var npleft = parseInt( - width * len);
        var cleft = parseInt($(".baner").css("left"));
        var cindex = parseInt( - (cleft / width));

        if (cleft <= npleft) {
            $(".baner").stop().animate({
                left: 0
            },
            speed);
        } else {
            $(".baner").stop().animate({
                left: nleft
            },
            speed);
        }

        if (cindex == len) {
            $("ol li").eq(0).addClass('red').siblings('li').removeClass('red');
        } else {
            $("ol li").eq(cindex + 1).addClass('red').siblings('li').removeClass('red');
        }

    });
    //当前状态
    $("ol li").on('click',
    function() {
        var colindex = $(this).index();
        var collert = '-' + colindex * width;
        $(".baner").stop().animate({
            left: collert
        },
        speed);
        $(this).addClass('red').siblings('li').removeClass('red');
    });

    //定时器
    function seTime() {
        set = setInterval(function() {
            $(".right").click();
        },
        setsed);
    }
    //清除定时器
    $(".baner_box").hover(function() {
        clearInterval(set);
    },
    function() {
        seTime();
    });
    seTime();
});