繁体   English   中英

如何在Wordpress中覆盖get_bloginfo函数

[英]How to override a get_bloginfo function in wordpress

function custom_get_bloginfo( $show = '', $filter = 'raw' ) {

    switch( $show ) {
            case 'description':
            $output = "my description";
            break;

            default:
            $output = get_option('blogname');
            break; 
    }

        return $output;

}

add_filter('get_bloginfo', 'custom_get_bloginfo', 1, 2);

我用上面的代码不起作用..

get_bloginfo函数支持两个过滤器,但前提是第二个参数“ filter”设置为“ display”,即

get_bloginfo('name', 'display');

因此,如果您希望将此插件用于某些插件,它将不会有太大用处。

可以使用的过滤器:

  • bloginfo_url(此选项适用于所有返回url的选项)
  • 博客信息

用法:

add_filter('bloginfo_url', 'custom_get_bloginfo', 10, 2);
add_filter('bloginfo', 'custom_get_bloginfo', 10, 2);

function custom_get_bloginfo($output, $show) {
    switch( $show ) {
        case 'description':
            $output = 'my custom description';
            break;
        case 'name':
            $output = 'custom name';
            break;
    }

    return $output;
}

更新:如果您只希望替换站点描述,则可以执行以下操作:

add_filter('option_blogdescription', 'custom_option_description', 10, 1);
function custom_option_description($value) {
    return 'custom description';
}

好的,现在我了解了,更好的方法是编辑header.php并查找bloginfo('description'),然后使用custom_get_bloginfo()进行更改,然后将其添加到function.php中。

function custom_get_bloginfo(){
switch( $show ) {
case 'description':
$output = "my description";
break;

default:
$output = get_option('blogname');
break; 
}
return $output;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM