微信二维码

二维码 扫二维码马上关注
扫码咨询
Genesis关于选项函数的解释

        在Genesis Explained系列的最后一篇文章中,元吉优惠券网解释了Genesis的图像函数在这篇文章中,元吉优惠券网将介绍genesis/lib/functions/options.php文件。从技术上讲,该文件中有7个函数,但其中一个是过滤器的一部分,其余的值中有一半实际上只是响应“get”值,所以实际上需要学习3个函数。

        下面是完整的函数列表

  • genesis_get_option
  • genesis_option
  • genesis_get_seo_option
  • genesis_seo_option
  • genesis_custom_field
  • genesis_get_custom_field
  • genesis_get_term_filter

        前4个函数处理主题选项,实际上是genesis_get_option的某个版本。最后一个函数是过滤器的一部分。

        genesis_get_option($key, $set = null)

        这个函数有两个可能的参数。第一个是$key。此值指示返回哪个选项值。例如,如果我想查看是否选中了Show Primary Navigation框,我将使用“nav”作为键值。您可以在genesis/lib/admin/theme-settings.php文件中查看所有内置选项。

     $ settings值是可选的。如果没有定义它,它将在GENESIS_SETTINGS_FIELD中查找。您还可以为其他内置设置使用GENESIS_SEO_SETTINGS_FIELD,但是这些设置可以通过另一个函数更容易地检索到,稍后我们将讨论这个函数。您甚至可以使用这个函数创建自己的设置字段并检索它。

        稍后元吉优惠券网将更详细地讨论这个问题,包括如何添加自己的选项,但是现在,让我们看看其中的一个选项行,看看如何找到该选项。

 
<p><input type="checkbox" name="<?php echo GENESIS_SETTINGS_FIELD; ?>[nav]" id="<?php echo GENESIS_SETTINGS_FIELD; ?>[nav]" value="1" <?php checked(1, genesis_get_option('nav')); ?> /> <label for="<?php echo GENESIS_SETTINGS_FIELD; ?>[nav]"><?php _e("Include Primary Navigation Menu?", 'genesis'); ?></label>
    

</p>

        请参阅name属性,这是您想要查看的地方。在本例中,它有“GENESIS_SETTINGS_FIELD”,因此您知道正在使用哪个字段,而且由于函数使用该字段作为默认值,所以您不需要指定$设置。下一部分是[nav],这是$key。因此,如果您想检索显示导航使用的主题选项
$displayNav = genesis_get_option( 'nav' );
        您可以使用“genesis_pre_get_option_ '”筛选该选项。$key”,$key值表示您可以指定要过滤哪个键,因此如果您试图更改nav选项,您将使用
add_filter( 'genesis_pre_get_option_nav', 'child_get_option_nav' );

        然后可以编写一个函数“child_get_option_nav()”,它在不同的情况下返回不同的值。

        在返回值之前会出现另一个过滤器。genesis_options允许过滤返回的内容。您可以使用preg_replace或str_replace来更改从数据库中检索后返回的值。genesis_pre_get_option_$key不能用于此目的,因为它返回您提供的任何值,而不是检查数据库。

        genesis_option()完全相同,只是它回显了这个值。

        genesis_get_seo_option(键)

        这个函数的工作原理与genesis_get_option基本相同,只是它为genesis_get_option函数提供了GENESIS_SEO_SETTINGS_FIELD $ settings值。如果您试图获得SEO设置值,这将节省一些代码。genesis_seo_option()只是响应genesis_get_seo_option()返回的值。

        genesis_get_custom_field(字段)

        这是另一个简化WordPress函数的Genesis函数。正如您所看到的,只有一个arg, $field。这是必需的,并且是您希望检索的自定义字段名。函数的作用是:自动响应这个值。

        要检索Genesis操作函数中的自定义字段,需要使用WordPress函数

add_action( 'genesis_post_content', 'child_custom_field' );
 
function child_custom_field() {
 
    global $post;
 
    $myField = get_post_meta( $post->ID, 'field_name', true );
 
    echo $myField;
}

        使用Genesis函数,你可以把它简化为

add_action( 'genesis_post_content', 'child_custom_field' );
 
function child_custom_field() {
 
    genesis_custom_field( 'field_name' );

 
}

        有时候你不会用到这个函数。它不能处理数组值,所以如果你有多个同名字段,你需要使用WordPress函数来检索一个对象(数组),然后你可以把它转换成字符串,你就可以输出了。该函数还内置了一些安全检查功能,可以防止某些代码正常工作。它在返回值之前运行stripslashes()函数和wp_kses_decode_entities()函数。大多数情况下,这不是问题,而且genesis_get_custom_field()函数是一个巨大的时间节省器。

        这差不多就完成了option函数。下次我将讨论genesis/lib/functions/widgetize.php并结束函数子系列。
更多精彩内容,请关注元吉优惠券网:专注阿里云代金券阿里云服务器报价腾讯云代金券的免费更新领取!
更多精彩内容推荐:

阿里云服务器之被攻击的常见类型和排查处理的方法
Genesis关于函数扩展的解释
阿里视频云web播放器常见问题汇总
更换轻量应用服务器操作系统,并使其支持asp+access
在阿里云ECS云服务器里安装Ubuntu 17.10官方系统
安全组详解,新手必看教程
Discuz程序详细说明文件
阿里高性能云服务器5折特惠活动说明


在线客服
热线电话

扫一扫 微信加好友