WordPress 函数:get_bloginfo()

原型

bloginfo( string $show = '' )

作用

显示当前站点的信息。一般都是后台可以设置的选项,包括常规选项和用户设置里的信息。可以在主题或插件任何地方调用。 get_bloginfo() 会返回获取到的值供 PHP 代码调用,如果要立即输出请使用 bloginfo()

参数:

默认参数:name

$show包含的可能值:

  • name - 返回 设置>常规中设置的“站点标题”。从 wp_options 表中的“blogname”记录中检索此数据。
  • description - 返回设置>常规中设置的“副标题”。此数据从 wp_options 的“blogdescription”记录中检索。
  • wpurl - 返回在设置>常规中设置的“WordPress地址(URL)”。此数据从 wp_options 表中的“siteurl”记录中检索。可以考虑使用 get_home_url() 代替,尤其是对于使用路径进行区分而不是使用子域名的多站点(它返回的是根站点而不是当前的子站点)。
  • url - 返回在设置>常规中设置的“站点地址(URL)”。此数据从wp_options表中的“home”记录中检索。应该使用 get_home_url()代替。
  • admin_email - 返回在设置>常规中设置的“电子邮件地址”。此数据从wp_options表中的“admin_email”记录中检索。
  • charset - 返回设置>阅读中设置的“页面和源的编码”。此数据从wp_options表中的“blog_charset”记录中检索。注意:此参数始终返回“UTF-8”,这是WordPress的默认编码(而且现在后台已经看不到设置项了)。
  • version - 显示您使用的WordPress版本。该数据是在 wp-includes/version.php 定义的 $wp_version 这个变量的值。
  • html_type - 显示WordPress HTML页面的内容类型(默认值:text/tml)。此数据从wp_options表中的“html_type”记录中检索。主题和插件可以使用pre_option_html_type过滤器覆盖默认值。
  • text_direction - 显示WordPress HTML页面的文本方向。应该使用is_rtl()代替。
  • language - 显示WordPress的语言。
  • stylesheet_url - 显示当前使用主题的主CSS(通常是style.css)文件的 URL。应该使用get_stylesheet_uri()代替。
  • stylesheet_directory - 显示当前主题的样式表目录的 URL。(是早期WordPress版本中的本地路径。)请使用get_stylesheet_directory_uri 代替。
  • template_url/template_directory - 当前主题目录的URL。在子主题中,get_bloginfo('template_url')get_template都将返回父主题的目录。应该使用 get_template_directory_uri()(对于父模板目录)或get_stylesheet_directory_uri()(对于子模板目录)。
  • pingback_url - 显示Pingback XML-RPC文件URL(xmlrpc.php)。
  • atom_url - 显示Atom供稿网址(/feed/atom)。
  • rdf_url - 显示RDF/RSS 1.0 feed URL(/feed/rfd)。
  • rss_url - 显示RSS 0.92feed URL(/feed/rss)。
  • rss2_url - 显示RSS 2.0feed URL(/feed)。
  • comments_atom_url - 显示评论Atom feed URL(/comments/feed)。
  • comments_rss2_url - 显示评论RSS 2.0feed URL(/comments/feed)。
  • siteurl - 自2.2版以来已弃用。用 home_url() 代替。
  • home - 自2.2版以来已弃用。用 home_url() 代替。

源文件:

wp-includes/general-template.php

<?php
...
function get_bloginfo( $show = '', $filter = 'raw' ) {
    switch( $show ) {
        case 'home' : // DEPRECATED
        case 'siteurl' : // DEPRECATED
            _deprecated_argument( __FUNCTION__, '2.2.0', sprintf(
                /* translators: 1: 'siteurl'/'home' argument, 2: bloginfo() function name, 3: 'url' argument */
                __( 'The %1$s option is deprecated for the family of %2$s functions. Use the %3$s option instead.' ),
                '<code>' . $show . '</code>',
                '<code>bloginfo()</code>',
                '<code>url</code>'
            ) );
        case 'url' :
            $output = home_url();
            break;
        case 'wpurl' :
            $output = site_url();
            break;
        case 'description':
            $output = get_option('blogdescription');
            break;
        case 'rdf_url':
            $output = get_feed_link('rdf');
            break;
        case 'rss_url':
            $output = get_feed_link('rss');
            break;
        case 'rss2_url':
            $output = get_feed_link('rss2');
            break;
        case 'atom_url':
            $output = get_feed_link('atom');
            break;
        case 'comments_atom_url':
            $output = get_feed_link('comments_atom');
            break;
        case 'comments_rss2_url':
            $output = get_feed_link('comments_rss2');
            break;
        case 'pingback_url':
            $output = site_url( 'xmlrpc.php' );
            break;
        case 'stylesheet_url':
            $output = get_stylesheet_uri();
            break;
        case 'stylesheet_directory':
            $output = get_stylesheet_directory_uri();
            break;
        case 'template_directory':
        case 'template_url':
            $output = get_template_directory_uri();
            break;
        case 'admin_email':
            $output = get_option('admin_email');
            break;
        case 'charset':
            $output = get_option('blog_charset');
            if ('' == $output) $output = 'UTF-8';
            break;
        case 'html_type' :
            $output = get_option('html_type');
            break;
        case 'version':
            global $wp_version;
            $output = $wp_version;
            break;
        case 'language':
            /* translators: Translate this to the correct language tag for your locale,
             * see https://www.w3.org/International/articles/language-tags/ for reference.
             * Do not translate into your own language.
             */
            $output = __( 'html_lang_attribute' );
            if ( 'html_lang_attribute' === $output || preg_match( '/[^a-zA-Z0-9-]/', $output ) ) {
                $output = determine_locale();
                $output = str_replace( '_', '-', $output );
            }
            break;
        case 'text_direction':
            _deprecated_argument( __FUNCTION__, '2.2.0', sprintf(
                /* translators: 1: 'text_direction' argument, 2: bloginfo() function name, 3: is_rtl() function name */
                __( 'The %1$s option is deprecated for the family of %2$s functions. Use the %3$s function instead.' ),
                '<code>' . $show . '</code>',
                '<code>bloginfo()</code>',
                '<code>is_rtl()</code>'
            ) );
            if ( function_exists( 'is_rtl' ) ) {
                $output = is_rtl() ? 'rtl' : 'ltr';
            } else {
                $output = 'ltr';
            }
            break;
        case 'name':
        default:
            $output = get_option('blogname');
            break;
    }

    $url = true;
    if (strpos($show, 'url') === false &&
        strpos($show, 'directory') === false &&
        strpos($show, 'home') === false)
        $url = false;

    if ( 'display' == $filter ) {
        if ( $url ) {
            /**
             * Filters the URL returned by get_bloginfo().
             *
             * @since 2.0.5
             *
             * @param mixed $output The URL returned by bloginfo().
             * @param mixed $show   Type of information requested.
             */
            $output = apply_filters( 'bloginfo_url', $output, $show );
        } else {
            /**
             * Filters the site information returned by get_bloginfo().
             *
             * @since 0.71
             *
             * @param mixed $output The requested non-URL site information.
             * @param mixed $show   Type of information requested.
             */
            $output = apply_filters( 'bloginfo', $output, $show );
        }
    }

    return $output;
}
...
?>

其他:

相关函数:bloginfo()

官方文档:https://developer.wordpress.org/reference/functions/get_bloginfo/

1个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注