前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Genesis框架从入门到精通(12): 配置项函数

Genesis框架从入门到精通(12): 配置项函数

作者头像
丘壑
发布2019-03-13 10:15:00
7320
发布2019-03-13 10:15:00
举报
文章被收录于专栏:一丘一壑

Genesis Explained Option Functions

In the last post in the Genesis Explained series I explained the image functions for Genesis. In this post I’ll be going through the genesis/lib/functions/options.php file. There are technica…

Designs By Nick the Geek
Designs By Nick the Geek

Designs By Nick the Geek


Genesis Explained系列的上一篇文章中,我解释了Genesis的图像函数 。在这篇文章中,我将介绍 genesis/lib/functions/options.php 文件。

这是完整的函数列表:

前6个函数是关于主题配置选项的,实际上都是 genesis_get_option()的不同版本。最后一个函数是过滤器的一部分。

function genesis_get_option( $key, $setting = null, $use_cache = true )

该函数可以接受3个参数。第一个$key是必需的,标明要返回的选项值。例如,如果我想获取到管理后台里Genesis配置的“特色图片”的尺寸,那就要使用“image_size”作为$key。你可以在genesis /lib/admin/theme-settings.php文件中查找所有内置选项。

$setting 是可选参数. 默认是在GENESIS_SETTINGS_FIELD中查找。你还可以使用GENESIS_SEO_SETTINGS_FIELD来做一些其他的设置。你甚至可以创建自己的设置字段并使用此函数来获取该字段的值。

比如你在WordPress后台中设置了Genesis的一些配置:

如果想在自己的子主题中使用关于特色图像的一些选项,可以这样用:

genesis_get_option

你可以使用“ genesis_pre_get_option_key”来过滤选项,把key替换成你想要过滤的键名,比如你想要更改特色图像的大小,则可以先添加一个过滤去,再编写一个函数,让它在不同的情况下返回一个不同的值。如下:

genesis_pre_get_option_image_size

genesis_get_option函数在返回值之前还可有另一个过滤器 genesis_options,允许你过滤要返回的内容,可以使用 preg_replacestr_replace 更改从数据库查询后返回的值。 genesis_pre_get_option_$key对此不起作用,因为它会原样返回你设定的任何值而不会去查数据库。

genesis_option()完全相同,只是它会把genesis_get_option的返回值自动打印出来。

function genesis_get_seo_option( $key, $use_cache = true )

此函数与 genesis_get_option大致相同,不同之处在于它为 genesis_get_option函数提供了GENESIS_SEO_SETTINGS_FIELD, 可以获得到Genesis中对SEO的配置选项,用这个函数可以节省一些代码。 genesis_seo_option()会自动打印出来 genesis_get_seo_option返回的值。

function genesis_get_custom_field( $field, $post_id = null )

这个Genesis函数简化了WordPress的get_post_meta函数的使用方法。$field是必需的,是你要获取的自定义字段的名称,$post_id可以指定某一篇文章。genesis_custom_field()函数会自动打印出返回值。

举个例子,如果要在Genesis动作函数中获取文章的自定义字段,你需要使用WordPress函数:

WordPress的get_post_meta函数

使用这个Genesis函数可以简化这个步骤

Genesis函数genesis_get_custom_field

但有些时候你会不想使用这个函数。它不适用于数组值,因此如果你有多个具有相同名称的字段,则需要使用WordPress函数来获取一个对象(数组),然后你可以将其转换为可以输出的字符串。 genesis_custom_field函数还具有一些内置的安全检查,在返回值之前运行stripslashes() 函数和wp_kses_decode_entities() 函数,这可能会阻止某些代码正常工作。不过大多数情况下这不是问题,用genesis_get_custom_field 函数可以节省大量时间。

配置项的函数基本就这些了。下次我将介绍 genesis/lib/functions/widgetize.php 并总结一下Functions子系列。之后在Genesis Explained系列中有两部分内容,一是管理后台,将涵盖主题的配置选项和文章、分类项的信息等、(post / term meta),然后是CSS样式表。

注:

同样的原因,原文写作时间比较久远,里面有些例子和代码已经在Genesis最新版2.8中不合适了,所以对照最新代码改了一下,在原文基础上有删减,也有增加。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • function genesis_get_option( $key, $setting = null, $use_cache = true )
  • function genesis_get_seo_option( $key, $use_cache = true )
  • function genesis_get_custom_field( $field, $post_id = null )
  • 注:
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档