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 样式防御
- 代码样式的另类风格!开眼
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。