微信二维码

二维码 扫二维码马上关注
扫码咨询
Genesis之格式化函数的解释

        在Genesis Explained系列的前一篇文章中,在快速解释了functions文件夹中每个文件中的内容之后,元吉优惠券网介绍了一些函数。回到admin.php文件,跳过预编译的php和feed.php。你真的不应该在deprecat .php中使用任何函数,而且feed.php除了函数被使用的方式之外没有太多用处。

        这就涉及到form .php。如果您还记得上一篇文章中的内容,那么这个文件主要关注文本格式。并不是所有的函数都可能被使用,但是我将深入研究其中的几个函数。下面是创世纪1.6中所有函数的列表

  • genesis_truncate_phrase()
  • get_the_content_limit()
  • the_content_limit()
  • genesis_rel_nofollow()
  • genesis_strip_attr()
  • genesis_tweet_linkify()
  • 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_char, $more_link_text = ‘(more…)’, $stripteaser = 0)

        这是一个函数,在对内容进行修剪后返回内容。另一个函数the_content_limit()是相同的,只是自动回显值以节省一些代码。这两个函数都有3个参数。第一个是$max_char。它设置内容中允许的最大字符数。第二个选项是可选的,如果没有传递任何内容,它们将具有默认值。$more_link_text是“more link”的链接锚文本。“默认值是”(更多…)“在更多文本之前添加$stripteaser内容,所以可能会添加一个……没有链接的。”它的默认值是“0”,这是一个“null”值,什么也不会输出。

        该函数使用get_the_content()检索内容,然后删除标记。这一点很重要,即使令人沮丧,因为is可以防止错误并提供准确的计数。错误是打开标记。例如,如果在文本被切断的地方有一个右对齐的链接,则可能有一个打开的锚标记。其他html元素也是如此。在删除内容并使用genesis_truncate_phrase对其进行其他准备之后,将使用更多的链接构建(如果可用)。

    这就是第一个过滤器出现的地方。“get_the_content_more_link”将允许您更改此链接。下一个过滤器就在内容限制返回之前;“get_the_content_limit”允许您更改最终输出,您可以使用它将其包装在div中,在前后甚至中间插入代码,或者将$链接移动到开头。the_content_limit为您提供了一个使用“the_content_limit”过滤输出的机会。尽管您无法访问该过滤器上的$content、$link或$max_char变量。

你可以这样使用它
 

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

        这将把post内容(不超过300个单词)放在post-teaser div中。

        genesis_rel_nofollow($xhtml)

        一个简单的函数,可以创建不遵循链接。

        genesis_strip_attr($xhtml, $elements, $attributes, $two_passes = true)

        这是一个相当复杂的函数,它需要任何$ xhtml文本,然后使用提供的模式来删除特定元素的属性。$元素和$属性可以作为数组或字符串传递。例如,查看genesis_rel_nofollow()函数。在使用wp_rel_nofollow()函数之前,该方法用于从锚标记中删除任何“rel”属性。这可以防止被添加两次的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_tweet_linkify($tweet)

        用于将链接添加到tweet散列或回复值。

        g_ent( $text = ” )

        添加的目的是允许g_ent过滤器更改给定字符串的实例。这在get_the_content_limit()中使用,用于读取更多链接之前插入的椭圆的更多链接。

        genesis_formatting_allowedtags()

        返回已剥离项的允许标记。有一个过滤器,允许您更改值以允许更多标记或删除这些标记。

更多精彩内容,请关注元吉优惠券网:专注阿里云代金券阿里云服务器报价腾讯云代金券的免费更新领取!

更多精彩内容推荐:

Genesis关于选项函数的解释
Genesis之图像函数的解释
阿里云服务器之被攻击的常见类型和排查处理的方法
Genesis关于函数扩展的解释
Genesis之布局函数解释
Genesis之管理介绍


在线客服
热线电话

扫一扫 微信加好友