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

查看所有标签

猜你喜欢:

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

程序设计基础

程序设计基础

谢书良 / 2010-5 / 29.50元

《程序设计基础》是为从来没有接触过程序设计的读者编写的“零起点”入门教材。全书共分8章,第1章主要介绍程序设计的概念和程序运行的环境,第2章介绍了基本的数据类型、运算符与表达式,第3章介绍面向过程程序的顺序、分支选择和循环三种控制结构,第4章至第7章分别介绍了数组、指针的概念,结构体和其他数据类型,函数及其调用,内容涵盖了C++面向过程程序设计内容,与C语言教材完全兼容。第8章是体现《程序设计基础......一起来看看 《程序设计基础》 这本书的介绍吧!

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

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具