覆盖函数.php中的插件函数

时间:2012-07-10 作者:ogni

我想重写$title = get_bloginfo(); 使用-->$title = get_bloginfo(\'siteurl\');

插件中的一些代码“Really simple Facebook Twitter share buttons“:

function really_simple_share ($content, $filter, $link=\'\', $title=\'\', $author=\'\') {
    static $last_execution = \'\';

    ...

    $custom_field_disable = get_post_custom_values(\'really_simple_share_disable\');
    if ($custom_field_disable[0]==\'yes\' and $filter!=\'shortcode\') {
        return $content;
    }

    //GET ARRAY OF STORED VALUES
    global $really_simple_share_option;
    $option = $really_simple_share_option;

    ...

    $first_shown = false; // NO PADDING FOR THE FIRST BUTTON

    // IF LINK AND TITLE ARE NOT SET, USE DEFAULT FUNCTIONS
    if ($link==\'\' and $title==\'\') {
        $link = ($option[\'use_shortlink\']) ? wp_get_shortlink() : get_permalink();

        $title = get_bloginfo(); // OVERRIDE

        $author = get_the_author_meta(\'nickname\');
    }
我可以在我的函数中执行此操作吗。php,因为我将在每次更新后更新此插件,而不更改此行。

谢谢

1 个回复
SO网友:brasofilo

可以过滤get_bloginfo(), 但是您必须找到一种方法来微调条件,因为覆盖是global...

add_filter( \'pre_option_blogname\', \'wpse_58030_override_blogname\' );

function wpse_58030_override_blogname( $bool )
{
    // If not page with ID == 28, do nothing
    if( !is_page( 28 )  ) 
        return false;
        
    // Change the \'blogname\'
    return "Not The Blog Name";
}
enter image description here

观察

get_bloginfo() 与相同get_bloginfo(\'blogname\').

如果所需过滤器为siteurl, 过滤器应为pre_option_siteurl.

结束

相关推荐

多个单个站点,一个插件目录-调整plugins_url()

[这不是一个多站点问题]更新:这个问题在逻辑上是不可能的,或者是思维循环,如果你愿意的话,请检查下面的更新。技术是laid out here in WPEngineer.它允许有一个插件文件夹来为运行在同一服务器上的多个WordPress站点提供服务。所以,我所有的开发站点都在wp配置中有这个。phpdefine( \'WP_PLUGIN_DIR\', \'/www_dev/base-site/wp-content/plugins\' ); define( \'WP_PLUGIN_URL\', \