get_option()
get_option( string $option, mixed $default = false ) 根据…
get_option( string $option, mixed $default = false )
根据选项名称检索选项值。
Retrieves an option value based on an option name.
目录锚点:#说明#参数#返回#源码#笔记
说明(Description)
如果选项不存在或没有值,则返回值将为false。这有助于检查是否需要安装一个选项,并且在安装插件选项时通常使用它,并测试是否需要升级。
如果该选项已序列化,则在返回时将其取消序列化。
任何标量值都将作为字符串返回。您可以通过注册“optionu$option”筛选器回调来强制给定选项的返回类型。
参数(Parameters)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
$option | (string) | 必需 | 要检索的选项的名称。应为非SQL转义。 |
$default | (mixed) | 可选 | 如果选项不存在,则返回的默认值。 |
返回(Return)
(mixed)为选项设置的值。
源码(Source)
/** * Retrieve option value based on name of option. * * If the option does not exist or does not have a value, then the return value * will be false. This is useful to check whether you need to install an option * and is commonly used during installation of plugin options and to test * whether upgrading is required. * * If the option was serialized then it will be unserialized when it is returned. * * @since 1.5.0 * * @global wpdb $wpdb * * @param string $option Name of option to retrieve. Expected to not be SQL-escaped. * @param mixed $default Optional. Default value to return if the option does not exist. * @return mixed Value set for the option. */ function get_option( $option, $default = false ) { global $wpdb; $option = trim( $option ); if ( empty( $option ) ) return false; /** * Filter the value of an existing option before it is retrieved. * * The dynamic portion of the hook name, `$option`, refers to the option name. * * Passing a truthy value to the filter will short-circuit retrieving * the option value, returning the passed value instead. * * @since 1.5.0 * * @param bool|mixed $pre_option Value to return instead of the option value. * Default false to skip it. */ $pre = apply_filters( 'pre_option_' . $option, false ); if ( false !== $pre ) return $pre; if ( defined( 'WP_SETUP_CONFIG' ) ) return false; if ( ! defined( 'WP_INSTALLING' ) ) { // prevent non-existent options from triggering multiple queries $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( isset( $notoptions[ $option ] ) ) { /** * Filter the default value for an option. * * The dynamic portion of the hook name, `$option`, refers to the option name. * * @since 3.4.0 * * @param mixed $default The default value to return if the option does not exist * in the database. */ return apply_filters( 'default_option_' . $option, $default ); } $alloptions = wp_load_alloptions(); if ( isset( $alloptions[$option] ) ) { $value = $alloptions[$option]; } else { $value = wp_cache_get( $option, 'options' ); if ( false === $value ) { $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); // Has to be get_row instead of get_var because of funkiness with 0, false, null values if ( is_object( $row ) ) { $value = $row->option_value; wp_cache_add( $option, $value, 'options' ); } else { // option does not exist, so we must cache its non-existence if ( ! is_array( $notoptions ) ) { $notoptions = array(); } $notoptions[$option] = true; wp_cache_set( 'notoptions', $notoptions, 'options' ); /** This filter is documented in wp-includes/option.php */ return apply_filters( 'default_option_' . $option, $default ); } } } } else { $suppress = $wpdb->suppress_errors(); $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); $wpdb->suppress_errors( $suppress ); if ( is_object( $row ) ) { $value = $row->option_value; } else { /** This filter is documented in wp-includes/option.php */ return apply_filters( 'default_option_' . $option, $default ); } } // If home is not set use siteurl. if ( 'home' == $option && '' == $value ) return get_option( 'siteurl' ); if ( in_array( $option, array('siteurl', 'home', 'category_base', 'tag_base') ) ) $value = untrailingslashit( $value ); /** * Filter the value of an existing option. * * The dynamic portion of the hook name, `$option`, refers to the option name. * * @since 1.5.0 As 'option_' . $setting * @since 3.0.0 * * @param mixed $value Value of the option. If stored serialized, it will be * unserialized prior to being returned. */ return apply_filters( 'option_' . $option, maybe_unserialize( $value ) ); }
更新版本 | 源码位置 | 使用 | 被使用 |
---|---|---|---|
1.5.0 | wp-includes/option.php:30 | 313 | 15 |
笔记(Notes)
处理不存在的选项
显示博客标题
显示字符集
类别:WordPress 函数手册、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!