Genesis框架从入门到精通(10): 样式函数
栏目: JavaScript · 发布时间: 5年前
内容简介:在Genesis Explained系列的上一篇文章中,我们快速的了解了函数文件夹中每个文件的内容,简单介绍了一些函数。我们以后再讲
原文
Genesis Explained Formatting Functions
译文
在Genesis Explained系列的上一篇文章中,我们快速的了解了函数文件夹中每个文件的内容,简单介绍了一些函数。我们以后再讲
deprecated.php
和
feed.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): 样式函数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- webpack4+babel7入门到精通(二、样式的处理)
- 1.6 常用CSS样式2:其它样式
- 1.5 常用CSS样式1:文本样式
- 圣思园《精通Spring Boot/Cloud》与《精通Java并发》课程现已宣布
- CSS 样式防御
- 代码样式的另类风格!开眼
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Web Designer's Idea Book
Patrick Mcneil / How / 2008-10-6 / USD 25.00
The Web Designer's Idea Book includes more than 700 websites arranged thematically, so you can find inspiration for layout, color, style and more. Author Patrick McNeil has cataloged more than 5,000 s......一起来看看 《The Web Designer's Idea Book》 这本书的介绍吧!