Genesis框架从入门到精通(10): 样式函数

原文

Genesis Explained Formatting Functions

Designs By Nick the Geek

译文

在Genesis Explained系列的上一篇文章中,我们快速的了解了函数文件夹中每个文件的内容,简单介绍了一些函数。我们以后再讲

admin.php 文件(注:此文件在Genesis1.8.0 以后已经废弃), deprecated.phpfeed.php 就不讲了。不要使用 deprecated.php 中的任何函数,且 feed.php

除了它能干的事情之外也没有多大用处。

这次我们看一下 formatting.php 。如果你看过前一篇文章,应该还记得,该文件主要关注文本的样式处理。不是所有函数都可以被使用,我将带你深入研究其中的几个。以下是Genesis 1.6中该文件的所有函数的列表(注:依据Gensis2.8更新)

  • genesis_truncate_phrase()
  • get_the_content_limit()
  • the_content_limit()
  • genesis_rel_nofollow()
  • genesis_strip_attr()
  • genesis_tweet_linkify() (注:Genesis 2.0.0 后废除)
  • g_ent() (同上)
  • genesis_formatting_allowedtags()

它们都是干啥的,怎么用呢?

genesis_truncate_phrase($phrase, $max_characters)

该函数本质上是给 genesis_get_content_limit() 使用的辅助函数。它有两个必需的参数。 $phrase 是要限制的文本, $max_characters 是允许的最大字符数。在你在想要限制文本长度的时候可以考虑使用它。例如,我有一个客户,他在自定义菜单上放了一个下拉菜单,里面带了缩略图和标题。虽然标题可以会很长,所以如果太长的话(谁真的超过需要100多个字符的标题?),就不得不截断标题。代码如下

echo genesis_truncate_phrase( get_the_title(), 100 );

get_the_content_limit( $max_characters, $more_link_text = ‘(more…)’, $stripteaser = false )

该函数可以返回限定过长度的内容。另一个函数 the_content_limit() 作用相同,但是会自动把内容打印出来,能节省一点代码量。这两个函数最多接受3个参数。第一个 $max_char 是必需的,用于设置从多少个字符后开始裁剪内容,即保留多少个字符。后两个是可选的,如果没有传递,则是默认值。 参数 $more_link_text 是显示“更多…”链接的几个字的文本,默认为“more…”

teaser是 <!--more--> 标签之前的内容, $stripteaser 默认是false,不会输出任何内容。

该函数使用 get_the_content() 获取内容,然后删其中的 html 标签。这很重要,虽然这可能会有些走样,但这样可以防止出错并提供准确的字符数统计。如果不这样做可能会导致的错误是html标签没有关闭。例如,如果你在文本被截断的位置中间正好有一个链接,那么这个链接可能就会出错。其他html元素也是如此。在标签清理完并且其他方面的准备也做完之后,就使用 genesis_truncate_phrase 对内容进行截断,然后构建一个“更多”的链接(如果有的话)。

第一个过滤器出现的在 “ get_the_content_more_link ”,通过它可以修改“更多”的链接文字。下一个过滤器“ get_the_content_limit ”允许你在返回内容限制之前更改最终输出,你可以使用它将其包在div中,在之后、之前甚至中间注入代码,或将 $link 移动到开头。 the_content_limit 也是一个可以用于修改“ the_content_limit ”输出的过滤器。但是用 the_content_limit 将无法获取到的 $content$link$max_char 变量。

用法如下

printf( '<div class="post-teaser">%s</div>', get_the_content_limit( 300, '[Keep Reading]' ) );

这将把帖子内容限制在不超过300字,并在div中输出。

genesis_rel_nofollow($xhtml)

一个简单的函数,用于创建nofollow链接。

function genesis_strip_attr( $text, $elements, $attributes, $two_passes = true )

这是一个非常复杂的函数,它接受任何 $xhtml 文本,然后使用提供的搜索条件(pattern)从特定元素中删除属性。 $elements$attributes 参数可以是数组或字符串。 比如 genesis_rel_nofollow() 函数,它是用于链接中的删除任何rel属性,然后再返回给 wp_rel_nofollow() 函数。这可以防止rel值被重复添加。这个函数也可以用来删除标题

$link = '<a href="http://example.com" title="title">Anchor Text</a>';
echo genesis_strip_attr( $link, array( 'a' ), array( 'title' ) );
// outputs "<a href="http://example.com">Anchor Text</a>"

genesis_formatting_allowedtags()

返回在清洗内容中允许的html标签。包含过滤器可让允许更多标签或删除这些标签。

我希望这有助于你理解这些函数。接下来我将深入讲下图像函数。


以上所述就是小编给大家介绍的《Genesis框架从入门到精通(10): 样式函数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

为你推荐:

相关软件推荐:

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java从入门到精通

Java从入门到精通

魔乐科技MLDN软件实训中心 / 人民邮电出版社 / 2010-4 / 59.00元

《Java从入门到精通》主要内容涵盖Java应用程序的创建及语言特点,Java开发工具Eclipse的使用,类和对象,Java程序异常处理,Java多线程,Java网络程序设计和Java数据库编程等,并通过五子棋和人事管理系统的设计两大项目讲解Java实用操作。《Java从入门到精通》在DVD光盘中赠送了Java SE类库查询手册,Java程序员职业规划,Java开发经验及技巧大汇总等丰富资源,包......一起来看看 《Java从入门到精通》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具