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

栏目: JavaScript · 发布时间: 5年前

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

原文

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): 样式函数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

深入剖析Tomcat

深入剖析Tomcat

Budi Kurniawan、Paul Deck / 曹旭东 / 机械工业出版社华章公司 / 2011-12-31 / 59.00元

本书深入剖析Tomcat 4和Tomcat 5中的每个组件,并揭示其内部工作原理。通过学习本书,你将可以自行开发Tomcat组件,或者扩展已有的组件。 Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。本书从最基本的HTTP请求开......一起来看看 《深入剖析Tomcat》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具