首页 > 经验 > 关键词  > WordPress博客最新资讯  > 正文

wordpress博客主题制作技巧:模板函数妙用

2010-03-24 10:56 · 稿源:WordPress啦

在设计WordPress主题时,我发现在functions.php文件里添加一套通用的自定义函数将会大大提高开发效率,因为这样我就可以不必每次开发主题时都需先查找然后复制同样的函数。因此我先搞定functions.php模板然后从那里开始创建主题,模板里把一些必要的准备工作都做好了,包括:

    • 1、包含 jQuery
    • 2、启用嵌套评论
    • 3、给头部添加Feed链接
    • 4、禁用无用的小工具区域
    • 5、给脚部添加谷歌分析工具
    • 6、阻止“read more”的跳转

这些函数让我喜欢的共同点就是它们都非常简单明了、高效。此functions.php 模板目前包含了十五个函数,并且还在不断改善中。虽然并不是所有人都会需要使用文件中的所有函数,但我的目的是将这个模板修改为适合大家使用的通用型模板,能够让你通过这些真正实用的函数找到主题开发的突破口。

在这篇文章里,我先向大家解释下每个函数,然后将所有这十五个函数融合在一起放入到functions.php模板中。你只要复制并粘贴本文最后的代码或是获取 functions.php文件的压缩包 ,就可以通过此模板享受WordPress的基本功能,为您的开发带来的极大的便利。

给头部添加feed链接

WordPress2.8以后,你都可以在头部区域添加所有相关的feed链接(主体、评论、分类等),不过这并不是默认的,你需要添加下面的代码来运行:

// add feed links to header
if (function_exists('automatic_feed_links')) {
automatic_feed_links();
} else {
return;
}

这段代码先检查你是否使用可兼容的WordPress版本,然后再启用自动geed链接。几点注意事项:第一,此方法是假设你没有手动在头部添加任何feed链接。第二,根据 最近这个Trac ticket,似乎这个功能与add_theme_support已经整合在一起了。

自动包含jQuery

如何包含 jQuery ? 你可以在主题的functions.php文件里添加下面的代码:

// smart jquery inclusion
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery',

("https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false);
wp_enqueue_script('jquery');
}

这个代码可以确保只包含一份jQuery,并从谷歌服务器上访问它,节省带宽同时访问时还有缓存上的优势。注意,这段代码必需放在嵌套评论函数的前面才能正常运行。

启用嵌套评论

一般来说,启用嵌套评论需要在头部区域添加一小段代码到wp_head 标签的前面。经过一次小实验后,我发现你可以在functions.php文件里添加这段代码:

// enable threaded comments
function enable_threaded_comments(){
if (!is_admin()) {
if (is_singular() AND comments_open() AND (get_option('thread_comments') == 1))
wp_enqueue_script('comment-reply');
}
}
add_action('get_header', 'enable_threaded_comments');

这有助于保持 <head>文件的整洁性,注意,这个函数需要放置在jQuery-inclusion函数的后面才能正常运作。

删除Head区域多余东西

WordPress  <head>文件里含有大量的多余东西, 诸如,版本号、WLW、RSD和索引链接。为了清除这些不必要信息,你可以在functions.php文件里添加下面的代码:

// remove junk from head
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);

给页脚添加谷歌分析工具

另一个比较让我头疼的事情就是每一次制作站点时都需要在footer.php文件添加谷歌分析工具的代码。最近我才往functions.php 文件添加了下面的代码并从此不用为这个问题头疼了。

// add google analytics to footer
function add_google_analytics() {
echo '<script src="https://www.google-analytics.com/ga.js" type="text/javascript"></script>';
echo '<script type="text/javascript">';
echo 'var pageTracker = _gat._getTracker("UA-XXXXX-X");';
echo 'pageTracker._trackPageview();';
echo '</script>';
}
add_action('wp_footer', 'add_google_analytics');

两点注意事项:第一,用你实际的 GA 代码代替“UA-123456-1” ;第二,你也可以查看当前谷歌分析工具的三种选择并修改相应的代码。目前,这个函数使用“ga.js”跟踪代码,你也可以改用其他方法。

  • 相关推荐
  • 大家在看
  • 织梦CMS系统宣告收费,模板站行业或成为历史

    “什么?织梦开始收费了!!!”相信,最近站长群里最惊爆的新闻莫过如此了。无数业内大佬和专业人士奔走相告,正在使用织梦CMS系统的小伙伴们,尚未购买DedeCMS商业使用授权,你可能将面临侵权赔款的风险!!!作为普通企业主,你也许不知道这是什么,大白话简单说下:生产网站是需要一套技术产品来作为依托,很多宣称自己建站的小供应商,因为没有研发能力,其实都是利用这种免费的技术产品来给客户加工网站,比如自助模板站、小

  • 苹果为 iOS 15 更新设计资源网站:提供新的模板和字体

    据9to5Mac报道,苹果公司重新设计了其开发者网站上的人机界面指南页面,使其更容易找到你想用的正确模板和字体。除了新网站,苹果还为iOS15和iPadOS15增加了全新的模板和库。

  • 1Password推出Psst!服务:更安全更便携的和他人共享账号密码

    在工作场所和家庭环境中,我们时不时需要和他人共享账号密码,但安全地共享密码却可能非常棘手。1Password 旨在通过其新功能解决这个问题,该功能为你提供了一种以安全方式分享登录凭证的方法,甚至可以与那些没有该服务账户的人分享。这种新方法叫做 Psst!,是 Password Secure Sharing Tool(密码安全分享工具)的简称,它显然是该公司要求最多的功能之一。根据该公司进行的一项研究,大多数工人重复使用公司的凭证。在这些人中?

  • 优酷云制作系统正式亮相 支持各工种异地协同

    【TechWeb】10月23日消息,日前,在云栖大会上,优酷与阿里云联合开发的 “云上演播制作系统”正式亮相。据介绍,“云上演播制作系统”可以一边录制,一边进行后期制作与剪辑,并支持各工种异地协同。原来要干三天的活儿,现在一天就能干完,成本还能降低40%。一位业内人士表示,一场2小时的体育赛事直播,平台方、制作方往往需要三天时间,才能准备好配套的设备和人员调度。“云上演播制作系统”则耗时不到一天,且使用者只需在电

  • 苹果在加州建造大型电视和电影制作工厂 扩大剧集开发规模

    随着苹果公司开始在洛杉矶附近的卡尔弗城建设两个新设施,苹果继续扩大Apple TV+项目的生产力度。新设施建成后总面积将超过550,000 平方英尺,将位于国家大道、威尼斯大道和华盛顿大道沿线。

  • 苹果公司在卡尔弗城建造大规模电视和电影制作设施

    苹果公司继续扩大Apple TV+项目的生产工作,这家科技巨头开始在洛杉矶附近的卡尔弗城建设两个新设施。新设施建成后总面积将超过55万平方英尺,将位于国家大道、威尼斯大道和华盛顿大道沿线。这两个设施将由一座"共享墙"连接。据一位与《Variety》有过交谈的苹果公司代表称,该地点将用于"混合用途"。该公司没有透露该项目将包括什么样的制作室。苹果公司也没有提供该基地何时投入使用的时间表,只是说该项目仍处于早期阶段。一旦完

  • 豪赌短剧:制作费暴涨10倍,视频平台焦虑的解药?

    短剧能够成为视频行业的热门,并非偶然。随着用户线上娱乐时间不断被挤压,以及生活节奏的加快,都渴望获得快速的娱乐休闲方式。其中,视频作为人们生活中常见的一种消遣形式,也在随着平台对使用时长的焦虑发生改变。

  • 增强隐私体验:1Password携手Fastmail推出邮件别名订阅服务

    为了抵御网络黑客的攻击,许多人选择了通过 1Password 等密码管理器来规划针对不同线上服务的复杂密码组合,以避免在数据泄露事件发生时被“一锅端”。不过从本周开始,1Password 又拓展了一项服务 —— 允许用户隐藏真实的电子邮件地址。此前,苹果已在 Sign In With Apple 等产品服务上提供了类似的体验。比如通过生成一次性的邮件地址,把它作为与真实邮件地址之间的桥梁,来更好地保护用户的晕死。而在 Fastmail 的协助下,1Pa

  • Netflix:内容制作稳步回归正常 鱿鱼游戏超出预期

    据国外媒体报道,Netflix此前由于疫情而导致制作延误,而现在Netflix全球电视主管贝拉・巴加里亚(Bela Bajaria)透露,有望在2022年底之前“稳步”推出各个节目。

  • 《鱿鱼游戏》制作成本1个亿 播出后爆火:如今价值近60亿

    大伙儿最近听说过或者看了《鱿鱼游戏(Squid Game)》吗?这部Netflix出品的网络韩剧,在本上周以1.11亿次的观看量,成为网飞平台开播观看量最高的剧集。最新报道称,本剧的制作成本为2140万美元(约合1.37亿元人民币),但网飞内部文档显示,本剧实际的影响力价值已经高达9亿美元(约合57.57亿元)。注意,这57亿并非《鱿鱼游戏》目前实际给网飞带来的收入,其代表了收视率、观看量、订阅收入等多方维度的指标。据悉,《鱿鱼游戏?

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天